2016-04-01 4 views
0

を探す:SQL - 私は会議を含むテーブルを持って、重複子どもたちに

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 

は、すべての会議のリストですRole = 'Coordinator'を持つ2人以上の参加者がいます。 例上記の例では、MeetID = 1ではなく2との会議になります。

私の人生にとっては、これを行う方法を理解することはできませんが、私は単純だと思います.-) SQL Server 2012の)

答えて

5

これはgroup byhavingを使用して行うのは簡単です:

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

注:Rolepotential keyword/reserved wordあるので、列名に悪い選択肢です。

+0

カラム名 'Role'の良い提案です。 –

+0

ありがとう(と私は役割の問題を認識しています:-)) これも私が試していたものですが、何らかの理由で私は知っていますdbのような会議があります。 私は質問をあまりに単純化しているかもしれません - それを再考して戻ってくるでしょう:-) – jhammer

+1

私のアカウントの誤植:-) このコードは、正しいフィールド名を使用すると動作します:-) ありがとう私のコードをトリプルチェックする:-) – jhammer

関連する問題