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

Truy vấn cho Người dùng không thuộc một nhóm cụ thể? (Muốn sử dụng EXCEPT nhưng có vẻ như MySQL không hỗ trợ nó)

Bạn có thể sử dụng NOT IN () hoặc <> BẤT KỲ ()

SELECT CaseId
FROM CaseIdUsers
WHERE CaseID NOT IN (
  SELECT CaseId 
  FROM CaseIdUsers
    JOIN GroupMembers ON GroupMembers.User = CaseIdUsers.Sid
    JOIN Groups ON GroupMembers.Group = Groups.Sid
  WHERE Groups.Name = 'MyGroupName'
)

Ngoài ra, bạn có thể sử dụng THAM GIA TRÁI với GROUP BY

SELECT CaseId 
FROM CaseIdUsers
  LEFT JOIN GroupMembers ON GroupMembers.User = CaseIdUsers.Sid
  LEFT JOIN Groups ON GroupMembers.Group = Groups.Sid
    AND Groups.Name = 'MyGroupName'
HAVING COUNT(Groups.Sid) = 0



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao DBI thay đổi ngầm định số nguyên thành chuỗi?

  2. Mysql Cách chỉ chọn từ một cột nếu cột tồn tại

  3. Bảng và mảng liên kết PHP MYSQL

  4. Cách kết nối PHP với MySQL

  5. chèn dữ liệu được thu thập dưới dạng Khóa ngoại và SQLSTATE [23000]:Vi phạm ràng buộc toàn vẹn:1048