很抱歉,如果已经询问此查询,但我搜索过但无法找到解决问题的任何内容。
我有两张桌子:
表1:
Act Marks
Paint 6
Paint 7
Paint 16
Paint 17
Swim 6
Swim 2
Sea 448
Sea 17
Drama 6
Drama 7
Drama 16
表2:
Marks Service_cordinator
6 X3
7 A2
16 A3
17 X1
1 X2
2 X3
448 X4
234 X5
查询是获取具有服务协调器X3,A2和A3的所有行为。
即查询应返回Paint
和Drama
表中没有主键/外键关系。只有Marks
的关系在两个表中都很常见。
答案 0 :(得分:1)
使用marks
加入表格,然后group by
和having
:
select t1.act
from table1 t1 join
table2 t2
on t1.marks = t2.marks
where t2.Service_cordinator in ('X3', 'A2', 'A3')
group by t1.act
having count(distinct Service_cordinator) = 3;