【发布时间】:2017-04-20 08:03:31
【问题描述】:
我有一个名为 agent 的 SQL 表,如下所示:
数据中声称某些代理人的薪水高于他们所监管的代理人的总和。 我编写了以下 SQL 查询来检索代理人的姓名、他们的个人工资以及他们在下面监督的人员的工资总和。 只有个人工资大于60000的代理才需要显示。
SELECT Agent.Agentname AS ["Supervisor Name"], Agent.Salary,
(SELECT SUM(Agent.salary) FROM Agent
WHERE Agent.Supervisor IS NOT NULL
GROUP BY Agent.Supervisor;)
AS ['Sum of Subordinate Salaries']
FROM Agent
WHERE (((Agent.[Supervisor]) Is Not Null) AND ((Agent.[salary])>=60000))
GROUP BY Agent.AgentName
我收到一条错误消息,提示“您的查询不包含作为聚合函数的一部分的指定表达式 'salary'”。
如何纠正查询并从中获得所需的结果?
【问题讨论】:
-
当在一个查询中多次使用同一个表时,使用表别名来限定 colmuns - 使其更清晰。
-
@jarlh 我已经这样做了,但是仍然出现同样的错误。
-
工资既没有汇总也没有在
group by...这是问题 -
我没有看到表别名...
标签: sql ms-access group-by sum