SQL Count()子行基于Parent的值

Sur*_*raj 1 mysql sql db2

我有一个父表

EventKey   Event Name
1001       Event 1
1002       Event 2
1003       Event 3
Run Code Online (Sandbox Code Playgroud)

这是我的孩子表

EventKey   EventAssignee
1001       Assignee 11
1001       Assignee 12
1002       Assignee 21
1002       Assignee 22
Run Code Online (Sandbox Code Playgroud)

以下是我的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
Run Code Online (Sandbox Code Playgroud)

这给了我一个SQL Error意外令牌Child.请告诉我哪里出错了

我期待输出

Event_Key Event_Name Assignee_Count
1001      Event 1    2    
1002      Event 2    2
1003      Event 3    0
Run Code Online (Sandbox Code Playgroud)

小智 6

试试这个:

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 
Run Code Online (Sandbox Code Playgroud)