2017-08-11 64 views
1

显示的条目这是我的MySQL表看起来像: SQL Table复合主键,一个相同的值和一个不同

这里,faculty_id和research_area是主键。我想要在“人工智能”和“大数据”中工作的院系。所以应该打印Ravi(F1)和Dham(F3)。

我试过select * from faculty_details where research_area='AI' AND research_area='Big Data';select * from faculty_details where research_area='AI' or research_area='Big Data';但他们没有工作。

回答

1

一种方法是使用group byhaving

select fd.faculty_id 
from faculty_details fd 
where fd.research_area in ('AI', 'Big Data') 
group by fd.faculty_id 
having count(*) = 2; 

如果你能有重复,然后使用:

having count(distinct research_area) = 2 
+0

这是正确的,但必须有一个更好的办法,因为如果我再添加一个主题在研究领域,不同学院的人数会有所不同。 –

相关问题