*/
SELECT A, B
FROM (SELECT A,
B,
TOTAL,
MUL,
MUL_P,
COUNT(DECODE(MUL_P, 1, 1)) OVER(PARTITION BY TOTAL) VALUE
FROM (SELECT A,
B,
TOTAL,
MUL,
COUNT(*) OVER(PARTITION BY TOTAL) TOTAL_P,
COUNT(*) OVER(PARTITION BY MUL) MUL_P
FROM (SELECT A,
B,
TOTAL,
MUL,
MIN(MUL_P) OVER(PARTITION BY TOTAL) MUL_M
FROM (SELECT A.NUM A,
B.NUM B,
A.NUM + B.NUM TOTAL,
A.NUM * B.NUM MUL,
COUNT(*) OVER(PARTITION BY A.NUM + B.NUM) TOTAL_P,
COUNT(*) OVER(PARTITION BY A.NUM * B.NUM) MUL_P
FROM (SELECT LEVEL + 1 NUM
FROM DUAL
CONNECT BY LEVEL < 99) A,
(SELECT LEVEL + 1 NUM
FROM DUAL
CONNECT BY LEVEL < 99) B
WHERE A.NUM < B.NUM))
WHERE MUL_M != 1))
WHERE MUL_P = 1
AND VALUE = 1;