0

このスキーマとデータが与えられた場合:

create table contacts (id int, name varchar(255));
create table events (id int, name varchar(255));
create table tickets (contact_id int, event_id int);

insert into contacts (id, name) values (1, 'Alice'), (2, 'Bob'), (3, 'Charlie');
insert into events (id, name) values (1, 'Event 1'), (2, 'Event 2');
insert into tickets (contact_id, event_id) values (1,1), (1,2);
insert into tickets (contact_id, event_id) values (2,2);

ちょうど 1 つのイベントに参加した人を見つけるにはどうすればよいですか? 1 つのイベントにしか参加していない Bob だけが見つかり、2 つのイベントに参加した Alice や、まったく参加していない Charlie は見つからないはずです。

何百もの連絡先やイベントが存在する可能性があるため、特定のイベントについて、これまでどのイベントにも参加したことのない連絡先を見つけたいと考えています。

私はこれに空白を描いています。

編集:明確にさせてください、

特定のイベントに 1 回だけ参加した人を見つけるにはどうすればよいですか? イベント 2 では、イベントに 1 回しか参加していない Bob だけが見つかり、2 回のイベントに参加した Alice や、まったく参加していない Charlie は見つからないはずです。

4

2 に答える 2