表格1
att_id name tel
a1 Joe 123456
a2 Tom 456789
a3 mary 444444
a4 sue 333333
表 2
group_id desc att_id
5 red a1
10 blue a1
12 orange a1
6 green a2
5 red a2
10 blue a3
6 green a3
5 red a4
10 blue a4
6 green a4
我希望每个 att_id 有 1 行,其中组 id <> 12。但这就是问题所在。如果该与会者确实有一个 5(红色)的组记录,那么我想看看。
IE
att_id a1 不在列表中,因为它在第 12 组中有一个项目,这是正确的
结果:
a2 tom 456789 red
a3 mary 444444
a4 sue 333333 red
我的查询是这样的:
SELECT DISTINCT Name, Phone FROM table1 INNER JOIN table2 ON table1.Att_ID = table2.Att_ID WHERE (table1.Att_ID Not In (select Att_ID from table2 where table2.Group_ID = 12))
这可以排除表 1 中在表 2 中具有组 id 12 的记录。我不知道如何查看返回的记录以确定它们中是否有任何一个“红色”组,但仍然只有 1为该 att_id 返回的记录,只是用一个 col 表示他们在表 1 中有一条红色组记录
抱歉,不知道如何表达清楚。