sql >> Databasteknik >  >> RDS >> Mysql

Hur hittar man distinkta kolumner i en kapslad underfråga i SQL?

Du kan använda en speciell drinkgrupp av DRINKER

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 

eller om du behöver en kapslad

    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 
                  );


  1. Gratis metoder för att reparera SQL Server Index Korruption

  2. Få mysql_fetch_assoc att automatiskt upptäcka returdatatyper?

  3. Hur byter jag namn på ett MySQL-schema?

  4. Kräver MySQL InnoDB alltid ett index för varje begränsning av främmande nyckel?