Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie finde ich unterschiedliche Spalten in einer verschachtelten Unterabfrage in SQL?

Sie könnten ein Hanving verwenden, um verschiedene Getränkegruppen von DRINKER zu zählen

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 

oder wenn Sie ein verschachteltes

benötigen
    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 
                  );