Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL-查找重复的子项_Sql_Sql Server_Duplicates - Fatal编程技术网

SQL-查找重复的子项

SQL-查找重复的子项,sql,sql-server,duplicates,Sql,Sql Server,Duplicates,我有一张包含会议的桌子: MeetID Description ----------------------------------------------------- 1 SQL Workshop 2 Cake Workshop PartID MeetID Name Role ----------------------------------------------------- 1

我有一张包含会议的桌子:

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
我还有一张桌子,里面有所有与会者:

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
我想找到的是所有会议的列表,其中有两个或更多参与者,角色=“协调员”。 在上面的例子中,这将是MeetID=1而不是2的会议

尽管我认为这应该很简单,但我一辈子都不知道该怎么做:——)
(我正在使用SQL Server 2012)

使用
分组方式和
拥有
,这很容易做到:

select MeetId
from participants p
where Role = 'Coordinator'
group by MeetId
having count(*) >= 2;

注意:
Role
是一个角色,因此对于列名来说,这是一个不好的选择。

使用
groupby
拥有
,这很容易做到:

select MeetId
from participants p
where Role = 'Coordinator'
group by MeetId
having count(*) >= 2;

注意:
Role
是一个,因此列名称的选择不好。

谢谢(我知道角色问题:-)这也是我尝试的,但由于某些原因,我没有得到任何结果-尽管我知道db中有类似的会议。我可能把这个问题简化得太多了,-我会重新考虑一下,然后再回来:-)啊,-我的帐户上有错别字:-)如果我使用正确的字段名,这个代码就可以工作:-)谢谢你强迫我三次检查我的代码:-)谢谢(我知道角色问题:-)这也是我一直在尝试的,但由于某些原因,我没有得到任何结果——尽管我知道在db中也有类似的会议。我可能把这个问题简化得太多了,-我会重新考虑一下,然后再回来:-)啊,-我的帐户上有错别字:-)如果我使用正确的字段名,这段代码可以工作:-)谢谢你强迫我三次检查我的代码:-)