很抱歉下面粘贴了整个BIG查询。我已经一遍又一遍地去了,并检查了可能存在计算错误的地方,比如除以零,但都没有效果。现在它要求我使用group by子句,就像我们在select语句中有计数时得到的错误,并且不使用group by子句。但是当我在查询结尾处放置一个group by子句并列出所有列时,它告诉我列名称不存在!
答案 0 :(得分:4)
您在SQL的第45行使用了总和:
(case ((sum(T.act_work_qty)+sum(T.remain_work_qty))*100.0)
when 0 then 0
when null then 0
else round((sum(T.act_work_qty)/(sum(T.act_work_qty)+sum(T.remain_work_qty))*100.0),2)
end)
因此,SQL假定您有一个聚合查询并返回聚合错误。
以下是解决方法的一些想法。 。
sum(T.act_work_qt) over ()
将计算查询处理的所有行的总和(应用where
子句条件)。