我不断获取操作数应包含1列错误。我认为这可能是因为括号但我无法弄清楚出了什么问题。 第一个表是选择具有唯一对的行(PGF,名称),第二个表是选择在有2个或更多人的部门中工作的人。
SELECT SUM(Salary) FROM
(SELECT * FROM Company GROUP BY (PGF, name) HAVING COUNT(*) = 1) as second
INNER JOIN
(SELECT * FROM Company GROUP BY department HAVING COUNT(*) > 1 ) as first
ON second.ID = first.ID
更新:我通过删除括号(PFG,名称)解决了列错误。但是,现在我得到了第二个子查询的错误结果和主查询的模糊错误。详情如下:
Run second subquery separately - Wrong result returned
对于第二个查询,我想返回在部门中工作的人员超过1人(每个人与至少另一个人共享同一部门)。因此它应该返回除Trump之外的所有人,但查询只返回3行。
我还尝试将所有内容组合在一起并出现此错误:字段列表中的列'薪水'不明确
请劝告。谢谢!