有两张桌子。
艺术家:ArtistID,ArtistFirstName,ArtistLastName,ArtistEmail,ArtistPhone,传记,ReferenceNumber,AGENTID
代理:AGENTID,AgentFirstName,AgentLastName,公司名称,AgentEmail,中介电话
尝试列出每个预订代理人所代表的艺术家人数
注意:代理商可以代表许多艺术家,但每位艺术家只有一个代理商。
这是我得到的,不知道为什么它不起作用,谢谢
SELECT ag.AgentFirstName,ag.AgentLastName,ag.CompanyName,ag.AgentID,COUNT
(ar.ArtistID) AS NumberOfArtists
FROM Agent ag
JOIN Artist ar ON ar.AgentID = ag.AgentID
GROUP BY ArtistID
答案 0 :(得分:1)
您正在通过错误的列聚合。您需要由代理聚合:
SELECT ag.AgentFirstName, ag.AgentLastName, ag.CompanyName, ag.AgentID,
COUNT(ar.ArtistID) AS NumberOfArtists
FROM Agent ag JOIN
Artist ar
ON ar.AgentID = ag.AgentID
GROUP BY ag.AgentFirstName, ag.AgentLastName, ag.CompanyName, ag.AgentID
答案 1 :(得分:0)
SELECT ag.AgentFirstName, ag.AgentLastName, ag.CompanyName, ag.AgentID,
COUNT(ar.ArtistID) AS NumberOfArtists
FROM Agent ag
JOIN Artist ar ON ar.AgentID = ag.AgentID
GROUP BY ag.AgentFirstName, ag.AgentLastName, ag.CompanyName, ag.AgentID