Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment trouver des colonnes distinctes dans une sous-requête imbriquée en SQL ?

Vous pouvez utiliser un hanving pour compter le groupe de boissons distinct par BUVEUR

SELECT DRINKERS.DRINKER
FROM DRINKERS
INNER JOIN ORDERS DRINKERS.DRINKER = ORDERS.DRINKER
WHERE ORDERS.DRINK IN ( 'VODKA' , 'WHISKY')
GROUP BY DRINKER
HAVING COUNT(DISTINCT ORDERS.DRINK ) = 2 

ou si vous avez besoin d'un

imbriqué
    SELECT DISTINCT DRINKER
    FROM DRINKERS
    WHERE EXISTS (SELECT DRINKER 
                  FROM ORDERS
                  WHERE DRINK IN ( 'VODKA' AND 'WHISKY')
                  GROUP BY DRINKER
                  HAVING COUNT(DISTINCT ORDERS.DRINK ) = 2 
                  );