Vous pouvez utiliser un NOT IN()
, ou un <> ANY()
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'
)
Alternativement, vous pouvez utiliser un LEFT JOIN
avec un 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