1

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

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 语句本身。谢谢!

样本数据:

4

1 回答 1

0

你有一个 Aggr 函数

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

这将是一个数字

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

select avg(sum(1))

那行不通

于 2018-06-15T18:27:30.940 回答