sql >> Database teknologi >  >> RDS >> Mysql

tjek om en kolonne indeholder ALLE værdierne i en anden kolonne - Mysql

Hvis jeg forstår det rigtigt, vil du gerne hente alle personID'er fra T1, der har alle tilknyttede ting-ID'er fundet i T2.

Du kan opdele dette på følgende måde:Først og fremmest skal du finde alle de T1-poster, der matcher en indlejret forespørgsel

SELECT personID 
FROM T1 WHERE stuffID IN (SELECT stuffID FROM t2)

Nu skal du tjekke, hvilken af ​​posterne i dette sæt, der indeholder ALLE de ting-ID'er, du ønsker

GROUP BY personID
HAVING COUNT(DISTINCT stuffID) = (SELECT COUNT(stuffID) FROM t2)

og sæt det hele sammen:

SELECT personID 
FROM T1 WHERE stuffID IN (SELECT stuffID FROM t2)
GROUP BY personID
HAVING COUNT(DISTINCT stuffID) = (SELECT COUNT(stuffID) FROM t2)

HTH.



  1. hvordan man automatisk justerer cellebredden i fpdf ved hjælp af php og mysql

  2. SYSUTCDATETIME() vs GETUTCDATE() i SQL Server:Hvad er forskellen?

  3. Kan jeg gendanne en enkelt tabel fra en fuld mysql mysqldump-fil?

  4. Hvordan genererer man en trævisning fra dette resultatsæt baseret på trægennemløbsalgoritme?