sql >> Databáze >  >> RDS >> Mysql

Dotaz na uživatele, kteří nejsou v konkrétní skupině? (Chtěl jsem použít EXCEPT, ale zdá se, že MySQL to nepodporuje)

Můžete použít NOT IN() nebo <> JAKÉKOLI ()

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'
)

Případně můžete použít LEFT JOIN s 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. Jak zkontrolovat, zda je v Pythonu otevřené připojení MySQL?

  2. SQLAlchemy create_all() nevytváří tabulky

  3. Heads in cloud na CHAR(10)

  4. Tipy k tabulce Microsoft Access – triky a pokyny, část 2