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的行为。 即查询应该返回PaintDrama

表中没有主键/前缀键关系。只有关系是Marks这是两个表中共同的。

+0

欢迎#1,并感谢您提供的样本数据,但请注意,这不是一个免费的编码服务。您需要显示您尝试过的查询。如果您在查询时遇到困难,请向该查询寻求帮助。您只需要使用标记作为公共数据连接2个表格,然后通过Service_cordinator –

使用marks加入的表,然后group byhaving

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

进行过滤,谢谢! –