場合

2017-08-07 13 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

(TARIF + TAMBAHAN選択 - (ケース (KODETRIP = OD.KODETRIPとURUTAN = OD.URUTAN)が0他 ヌルであるPROMOTRIPからニライを選択(PROMOTRIPここKODETRIP = OD.KODETRIPからニライを選択してURUTAN = KODETRIP = 'TR201408060051' とTGLBATALが nullの結果であるOD.URUTAN ORDERDETAIL OD)からエンド)) : 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