Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

kiểm tra xem một cột có chứa TẤT CẢ các giá trị của một cột khác hay không - Mysql

Nếu tôi hiểu chính xác, bạn muốn truy xuất tất cả các ID người từ T1 có tất cả các ID nội dung liên quan được tìm thấy trong T2.

Bạn có thể chia nhỏ điều này như sau:Trước hết, hãy tìm tất cả các mục nhập T1 phù hợp với một truy vấn lồng nhau

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

Bây giờ bạn cần kiểm tra xem mục nào trong tập hợp này chứa TẤT CẢ ID nội dung bạn muốn

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

và tổng hợp tất cả lại với nhau:

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. pip cài đặt mysqlclient trên amazon linux

  2. Sự khác biệt giữa MySQL, MySQLi và PDO là gì?

  3. Quyền truy cập bị từ chối đối với người dùng 'tên người dùng' @ 'localhost' (sử dụng mật khẩu:CÓ) trong C:\ webdev \ wamp \ www \ memberSite \ class \ Mysql.php trên dòng 9

  4. mysql không đếm hàng hai lần nếu dữ liệu cột bị trùng lặp

  5. Câu lệnh MySQL CASE ... WHERE ... THEN