-1
我试图总结一个子查询,但不知道如何重写此:SQL总结一个子查询
FORMAT(
SUM(
CASE WHEN SOH.LASDLVNUM_0 <> ''
AND SOH.LASINVNUM_0 <> ''
AND MONTH(SOH.SHIDAT_0) = MONTH(GETDATE())
THEN
(Select (SID.NETPRI_0)
from x3v6.CICPROD.SINVOICED SID
where SID.NUM_0 = SOH.LASINVNUM_0
and SID.ITMREF_0 = SOQ.ITMREF_0
and SID.STOFCY_0 = SOQ.STOFCY_0)
* SOQ.INVQTY_0 * SOH.CHGRAT_0
ELSE 0.00 END),
'##,##0.00') as 'Invoiced (MTD)',
不得到错误消息“不能对包含聚合的表达式执行聚合函数或者一个子查询。“
哪些DBMS您使用的是什么?这是非标准的语法。 –
你不能在case语句中放置子查询。显示整个SQL查询,我们可以修复它。 –
@CharlesBretana至少在sql-server中,你绝对可以把一个子查询放入一个case表达式中,我只是测试了一下以确保。不是我一定会推荐它,虽然 – Matt