たとえば、Person
各エントリの ID を持つテーブルがあり、イベントでの各人PersonEvent
の を記録するテーブルがあります。personID
イベントの行が含まれていない場合PersonEvent
、テーブル内の全員がPerson
出席しました。ただし、テーブルにエントリがある場合は、PersonEvent
その人だけがイベントに参加しました。
次のようなクエリを実行したい:
SELECT *
FROM Person p
WHERE ((SELECT COUNT(*)
FROM PersonEvent pe
WHERE pe.personID = p.ID
AND pe.eventID = '290') = 0
OR EXISTS
(SELECT *
FROM PersonEvent pe
WHERE pe.personID = p.ID
AND pe.eventID = '290'))
どうすればいいですか?