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

Hoạt động tập hợp con MYSQL

Từ mã giả của bạn, tôi đoán rằng bạn muốn kiểm tra xem danh sách giá trị (động) có phải là tập hợp con của danh sách khác được cung cấp bởi SELECT không . Nếu có, thì toàn bộ bảng sẽ được hiển thị. Nếu không, sẽ không có hàng nào được hiển thị.

Đây là cách để đạt được điều đó:

SELECT *
FROM tb_values
WHERE 
    ( SELECT COUNT(DISTINCT value)
      FROM tb_value
      WHERE isgoodvalue = true
        AND value IN (value1, value2, value3)
    ) = 3

ĐÃ CẬP NHẬT sau lời giải thích của OP:

SELECT *
FROM project
  JOIN 
    ( SELECT projectid
      FROM projectTagMap
      WHERE isgoodvalue = true
        AND tag IN (tag1, tag2, tag3)
      GROUP BY projectid
      HAVING COUNT(*) = 3
    ) AS ok
    ON ok.projectid = project.id


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi khi thiết lập kho lưu trữ ban đầu trong Pentaho Kettle

  2. PHP / PDO / MySQL:chèn vào MEDIUMBLOB lưu trữ dữ liệu xấu

  3. Trợ giúp Truy vấn Số lượng Bảng Chéo MySQL (*)

  4. asp.net lưu trữ các vai trò trong phiên Roles.AddUsertoRole (không phải thứ tôi đang tìm kiếm?)

  5. Truy vấn nhân Mysql