2017-08-07 70 views
0

當我使用下面的查詢,結果顯示,因爲我想:如何做SUM隨着情況

select (TARIF + TAMBAHAN - (case when (select NILAI from PROMOTRIP where KODETRIP = OD.KODETRIP and URUTAN = OD.URUTAN) is null then 0 else (select NILAI from PROMOTRIP where KODETRIP = OD.KODETRIP and URUTAN = OD.URUTAN) end)) from ORDERDETAIL OD where KODETRIP = 'TR201408060051' and TGLBATAL is null 

enter image description here

但是,當我想補充它,結果錯誤:

enter image description here

+2

請以文字形式添加您的查詢結果。 – dotNET

+0

選擇 (塔裏夫+ TAMBAHAN - (情況下,當 (選擇從PROMOTRIP汝其中KODETRIP = OD.KODETRIP和URUTAN = OD.URUTAN)是空值,則0 別的 (從PROMOTRIP選擇汝其中KODETRIP = OD.KODETRIP和URUTAN = OD.URUTAN)端)) 從的OrderDetail OD其中KODETRIP = 'TR201408060051' 和TGLBATAL爲空 結果: 01. 90000,00 02. 70000,00 03. 70000,00 04. 95000, 00 05. 85000,00 06. 85000,00 07. 65000,00 08. 65000,00 09. 70000,00 10. 65000,00 11. 150000,00 –

+1

我真的不喜歡你對SQL關鍵字使用小寫的方式,對於表/列名使用大寫。它通常是相反的。 – dotNET

回答

0

嘗試將第一個查詢合併爲一個嵌套查詢,並在外部查詢中使用SUM。類似這樣的:

SELECT SUM(*) FROM (YOUR_FIRST_QUERY) 
+0

謝謝。解決了。 –

+0

考慮點擊綠色的勾號,以防這個問題得到解決。 – dotNET

0

這樣做。

SELECT SUM(RES) FROM (
select (TARIF + TAMBAHAN - (case when (select NILAI from PROMOTRIP where 
KODETRIP = OD.KODETRIP and URUTAN = OD.URUTAN) is null then 0 else (select 
NILAI from PROMOTRIP where KODETRIP = OD.KODETRIP and URUTAN = OD.URUTAN) 
end)) AS RES from ORDERDETAIL OD where KODETRIP = 'TR201408060051' and 
TGLBATAL is null)A 
相關問題