Mysql 列出所有项目的项目编号、项目名称和员工人数>;2名员工从事it工作
有两个相关表格:工程和项目。项目包含以下属性:PName、PNo、PLocation和DNo(部门号)。工作时间包含以下属性:SSN、PNo、小时 我只想计算出现两次以上的SSN,然后提供计数值PName和PNo 这是我迄今为止的尝试:Mysql 列出所有项目的项目编号、项目名称和员工人数>;2名员工从事it工作,mysql,sql,database,subquery,Mysql,Sql,Database,Subquery,有两个相关表格:工程和项目。项目包含以下属性:PName、PNo、PLocation和DNo(部门号)。工作时间包含以下属性: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
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和错误的员工数量。我一直在试图弄明白为什么这段代码不会给我两个以上员工的项目。请帮我找出我做错了什么。您不需要内部查询,
分组方式
和拥有
应该做什么,例如:
SELECT p.no, p.name, COUNT(w.ssn) as employees
FROM project p JOIN works_on w ON p.pno = w.pno
GROUP BY p.no, p.name
HAVING employees > 2;
非常感谢你!还是不知道我们为什么要做你的作业。这是作业的一部分吗?我已经做了几个小时了,所以我想通过联系这里,我不是要求你做作业,而是要求你提供见解或帮助。我是SQL新手,正在努力从错误中学习。我真不明白你为什么不提供任何帮助就浪费我们两个人的时间。