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

controlla se una colonna contiene TUTTI i valori di un'altra colonna - Mysql

Se ho capito bene, vuoi recuperare tutti i personID da T1 che hanno tutti gli stuffID associati trovati in T2.

Puoi suddividerlo come segue:prima di tutto, trova tutte le voci T1 che corrispondono a una query nidificata

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

Ora devi controllare quale delle voci in questo set contiene TUTTI gli stuffID che desideri

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

e metti tutto insieme:

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

HTH.