Mysql
 sql >> Baza danych >  >> RDS >> Mysql

sprawdź, czy kolumna zawiera WSZYSTKIE wartości innej kolumny - Mysql

Jeśli dobrze rozumiem, chcesz pobrać wszystkie identyfikatory personID z T1, które mają wszystkie powiązane identyfikatory stuffID znalezione w T2.

Możesz to podzielić w następujący sposób:Przede wszystkim znajdź wszystkie wpisy T1, które pasują do zagnieżdżonego zapytania

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

Teraz musisz sprawdzić, który z wpisów w tym zestawie zawiera WSZYSTKIE żądane identyfikatory rzeczy

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

i złóż to wszystko razem:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. problemy z instalacją mysql-python (na mac os x lion)

  2. Jak obliczyć różnicę między dwoma znacznikami czasu w MySQL?

  3. Awaria kontenera MySQL po zmianie /etc/mysql/my.cnf, jak cofnąć?

  4. zapytanie mysql, aby wybrać wszystko oprócz czegoś

  5. Samouczek oceny gwiazdek Jquery za pomocą php i mysql