-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