SQL:使用多列过滤数据
问题描述:
对不起,如果此查询已被询问,但我搜索,并找不到任何解决我的问题。SQL:使用多列过滤数据
我有两个表:
表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
这是两个表中共同的。
答
使用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;
+0
进行过滤,谢谢! –
欢迎#1,并感谢您提供的样本数据,但请注意,这不是一个免费的编码服务。您需要显示您尝试过的查询。如果您在查询时遇到困难,请向该查询寻求帮助。您只需要使用标记作为公共数据连接2个表格,然后通过Service_cordinator –