我有一张包含会议的表格:
MeetID Description
-----------------------------------------------------
1 SQL Workshop
2 Cake Workshop
我有另一张表格,其中包含会议中的所有参与者:
PartID MeetID Name Role
-----------------------------------------------------
1 1 Jan Coordinator
2 1 Peter Participant
3 1 Eva Participant
4 1 Michael Coordinator
5 2 Jan Coordinator
6 2 Peter Participant
我想找到一个包含2个或更多参与者的所有会议的列表,其中Role ='Coordinator'。 例如。在上面的例子中,MeetID = 1而不是2。
我不能为我的生活弄清楚如何做到这一点,尽管我觉得应该很简单:-) (我正在使用SQL Server 2012)
答案 0 :(得分:5)
使用group by
和having
:
select MeetId
from participants p
where Role = 'Coordinator'
group by MeetId
having count(*) >= 2;
注意:Role
是potential keyword/reserved word,因此对于列名称来说这是一个糟糕的选择。