聚合函数导致SQL中的错误

时间:2018-06-15 18:21:25

标签: sql sum aggregate scada

尝试使用以下语句从同一个表中的几个值建立生产百分比:

SELECT avg(sum([Actual]/
(sum(NULLIF([Team Members],0)/(sum(NULLIF([Actual Min],0)))))))
FROM [Shift Production Log]
WHERE [Date] >= DATEADD(dw, -2, :dvalue) AND
  [Line] = :Lpram

我收到以下错误:

无法对包含聚合或子查询的表达式执行聚合函数。

我还应该通过SCADA系统指定我这样做,它将放置我绑定的参数,即“Lpram”和“dvalue”。那些在其他语句中的工作很好,所以看来我的问题是实际的select语句本身。谢谢!

示例数据:

1 个答案:

答案 0 :(得分:0)

你有一个Aggr功能

sum([Actual]/
(sum(NULLIF([Team Members],0)/(sum(NULLIF([Actual Min],0))))))

这将是一个数字

然后你尝试采取平均值,但这不是标量。这就像跑步

select avg(sum(1))

那不会工作