Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

lógica na cláusula HAVING para obter vários valores de um grupo por resultado


Às vezes, apenas ouvir suas próprias palavras em inglês se traduz no SQL mais fácil de ler:
SELECT DISTINCT a.user_id, a.code
   FROM my_table a
   WHERE a.user_id in 
       (SELECT b.user_id
       FROM my_table b
       WHERE b.ROLE_ID = 13)
    AND a.user_id in 
       (SELECT b.user_id
       FROM my_table b
       WHERE b.ROLE_ID = 15)
   AND a.user_id NOT IN 
       (SELECT b.user_id
       FROM my_table b
       WHERE b.ROLE_ID NOT IN (13,15))