我的SQL查询中有2个聚合函数,我希望将它们相乘,但是当我尝试它时会给出错误"而不是GROUP BY表达式"。下面是我的查询的简化版本:
SELECT S.employee,
avg(A.expected_duration) as duration1,
avg(A.efficiency) as efficiency1,
duration1 *efficiency1 as product1
FROM S inner join A
ON S.job_no = A.Job_no
GROUP BY s.employee
我试过在数学之前放置一个聚合函数,但它没有给出正确的数据。我在这里不知所措,所以任何帮助都会受到赞赏。如果您还有其他需要,请告诉我。
答案 0 :(得分:4)
您无法引用在同一选择语句中调用的字段的别名,您需要使用计算而不是别名
SELECT S.employee,
avg(A.expected_duration) as duration1,
avg(A.efficiency) as efficiency1,
avg(A.expected_duration)*avg(A.efficiency) as product1
FROM S
INNER JOIN A
ON S.job_no = A.Job_no
GROUP BY s.employee