select ca.cust_ac_no, ca.ccy, ah.trn_dt,
(SELECT sum(COALESCE(hi.lcy_amount,0))
FROM actb_history hi
WHERE hi.ac_no='0013001600038' and hi.drcr_ind = 'C' and ah.trn_dt = hi.trn_dt
GROUP BY hi.ac_no,hi.drcr_ind) as Total_Credits,
(SELECT sum(COALESCE(hi.lcy_amount,0))
FROM actb_history hi
WHERE hi.ac_no='0013001600038' and hi.drcr_ind = 'D'and ah.trn_dt = hi.trn_dt
GROUP BY hi.ac_no,hi.drcr_ind) as Total_Debits,
((SELECT sum(COALESCE(hi.lcy_amount,0))
FROM actb_history hi
WHERE hi.ac_no='0013001600038' and hi.drcr_ind = 'C' and ah.trn_dt = hi.trn_dt
GROUP BY hi.ac_no,hi.drcr_ind)
-
(SELECT sum(COALESCE(hi.lcy_amount,0))
FROM actb_history hi
WHERE hi.ac_no='0013001600038' and hi.drcr_ind = 'D'and ah.trn_dt = hi.trn_dt
GROUP BY hi.drcr_ind,hi.drcr_ind)) as difference
from actb_history ah, sttm_cust_account ca
where ah.ac_no='0013001600038'
and ah.ac_no = ca.cust_ac_no
group by ca.cust_ac_no, ca.ccy, ah.trn_dt
上述代碼計算的差只有在存在用於total_credits對應值的總和的差和total_debits找到列值的基礎上的指示器(A/B)列在表
的公式是credit-debit =差額。問題是一些事務只有一個,另一個是空的。因此在添加空值後結果爲空。
我的願望是,它應該顯示爲零的任何空值,並能夠執行減法。
請幫忙。
上有什麼'actb_history'除'「C''和'」 D''交易? –
不,就是這樣。 – Tamseyc