2

親テーブルがあります

EventKey   Event Name
1001       Event 1
1002       Event 2
1003       Event 3

これは私の子テーブルです

EventKey   EventAssignee
1001       Assignee 11
1001       Assignee 12
1002       Assignee 21
1002       Assignee 22

以下は私のSQLクエリです

select p.EventKey As Event_Key,
       p.Event_Name As EventName,
       (select count(*) 
        from Child c 
        where c.eventkey = p.eventkey) As Assignee_Count
from ParentTable p

これにより、SQL エラーの予期しないトークンの子が表示されます。どこが間違っているのか教えてください

出力が

Event_Key Event_Name Assignee_Count
1001      Event 1    2    
1002      Event 2    2
1003      Event 3    0
4

2 に答える 2

7

このようにしてみてください:

select p.EventKey As EventKey , p.EventName As EventName, count(c.assignee) As Assignee_Count
from Parent p left join child c on p.EventKey=c.EventKey 
group by p.EventKey,p.EventName 
于 2013-10-31T18:36:33.460 に答える
0

サブクエリで Event_Key でグループ化してみてください

select count(*) 
  from Child c 
  where c.eventkey = p.eventkey 
  group by p.eventkey
于 2013-10-31T18:37:57.067 に答える