Ниже приведены данные в CUST_REF
таблице
CUST ID REF ID
1 7
2 2
3 5
4 5
5 5
Ниже запроса вернется 3 5
и 4 5
SELECT CUST_ID, REF_ID
FROM CUST_REF
WHERE REF_ID IN
(select ref_id from CUST_REF
group by ref_id
having (count(*) > 1))
AND CUST_ID != REF_ID;
Как насчет того, еслихотите вернуть 1 7
2 2
5 5
?Я делаю запрос ниже, он может только вернуть 1 7
и 2 2
SELECT CUST_ID, REF_ID
FROM CUST_REF
WHERE CUST_ID = REF_ID
AND REF_ID NOT IN
(select ref_id from CUST_REF
group by ref_id
having (count(*) > 1))
UNION
SELECT CUST_ID, REF_ID
FROM CUST_REF
WHERE CUST_ID != REF_ID
AND REF_ID NOT IN
(select ref_id from CUST_REF
group by ref_id
having (count(*) > 1));