たとえば、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'))
どうすればいいですか?