Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

verifique se uma coluna contém TODOS os valores de outra coluna - Mysql


Se bem entendi, você deseja recuperar todos os personIDs de T1 que têm todos os stuffIDs associados encontrados em T2.

Você pode dividir isso da seguinte forma:Em primeiro lugar, encontre todas as entradas T1 que correspondem a uma consulta aninhada
SELECT personID 
FROM T1 WHERE stuffID IN (SELECT stuffID FROM t2)

Agora você precisa verificar qual das entradas neste conjunto contém TODOS os IDs de material que você deseja
GROUP BY personID
HAVING COUNT(DISTINCT stuffID) = (SELECT COUNT(stuffID) FROM t2)

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

HTH.