Я думаю, вы просто хотите:
SELECT E1.*
FROM EMP_PRE_LOCATION E1
WHERE NOT EXISTS (SELECT 1
FROM EMP_PRE_LOCATION E2
WHERE E2.EID = E1.EID AND
E2.PRE_LOCATION NOT IN ('PUNE', 'MUMBAI')
);
Если вы хотите, чтобы сотрудники работали только в этих двух местах, вы можете использовать GROUP BY
и HAVING
:
SELECT E1.EID
FROM EMP_PRE_LOCATION E1
GROUP BY E1.EID
HAVING SUM(CASE WHEN E1.PRE_LOCATION NOT IN ('PUNE', 'MUMBAI') THEN 1 ELSE 0 END) = 0;
Вы можете добавить LISTAGG(E1.PRE_LOCATION, ',')
, если хотите получить список мест.