連絡先とイベントのデータベースを作成していて、特定のイベントに招待されていない連絡先を表示したいと考えています。次のテーブルとクエリがあります。
Contacts - テーブル
Events - テーブル
ContactInvitation - テーブル (誰がどのイベントに招待されたかを示すために、EventID と ContactID の PK を作成します)
ゲストとイベント - クエリ (連絡先のすべてのインスタンスと、招待されたイベントも表示します)
ゲストとイベントでは、連絡先がイベントに招待されていない場合、イベント フィールドは空白になります。複数のイベントに招待されている場合は、招待されているイベントを示す連絡先の名前が重複しています。例えば
マーク - ヌル
ショーン - ヌル
スティーブン - イベント 1
スティーブン - イベント 2
マイク - イベント 1
ジル - イベント 1
ロブ - イベント 2
これらの連絡先をフィルタリングして、特定のイベントに招待されていない連絡先 (各連絡先の 1 つのインスタンス) のみを表示したいと考えています。たとえば、イベント 1 に招待されていないすべての連絡先を表示します。
イベント 1 への NotInvited のクエリには、Mark、Sean、Rob が表示されます。
ただし、スティーブンがイベント 1 と 2 に招待されているという事実に問題があるため、「イベント <>1 OR イベント = Null) スティーブンはイベント 1 に招待されていてもリストに表示されます。
助けてください!これは私を夢中にさせています。私は過去数日間グーグルで過ごしました.GROUPBYとサブクエリについて学びましたが、解決策を見つけることができないようです.
お時間をいただきありがとうございます。