【发布时间】:2017-06-25 09:54:51
【问题描述】:
有两个相关的表:works_on 和 project。项目包含以下属性:PName、PNo、PLocation 和 DNo(部门编号)。 Works_on 包含以下属性:SSN、PNo、小时。
我只想统计出现两次以上的 SSN,然后提供计数值,PName 和 PNo。
这是我目前的尝试:
SELECT
P.PNo, P.PName,
COUNT(W.SSN) AS no_employees
FROM
project AS P INNER JOIN works_on AS W ON P.PNO = W.PNo
WHERE W.SSN IN (SELECT SSN FROM WORKS_ON GROUP BY SSN HAVING COUNT(SSN) > 2)
GROUP BY P.PNo
但我得到了错误的 PNo 和错误的员工人数。我一直在试图弄清楚为什么这段代码不会给我有两个以上员工的项目。请帮我弄清楚我做错了什么。
【问题讨论】:
标签: mysql sql database subquery