我想找到相同解码的基于'CR'信用额或'DB'借方的金额之间的差异。 例如
Sum(Amount) Decode CR_OR_DB
-----------------------------------------------
5.84 D000006947 DB
380.12 D000000360 CR
0.36 D000000546 CR
3.6 D000000010 CR
19.8 D000000013 CR
234.08 D000006947 CR
10.13 D000000360 DB
上表: 我想用相同的解码减去借记金额(CR)的借记金额(DB)。
答案 0 :(得分:1)
使用上面的表结构和AMOUNT,DECODE和CR_OR_DB列使用简单的SUM函数并将CR / DB解码为所需的符号。
select decode, sum (decode(CR_OR_DB,'CR',1,'DB',-1) * amount) amount from test group by decode
答案 1 :(得分:1)
你可以简单地使用自我关节:
select t1.decode,(t1.sum-t2.sum) as result from test1 t1,test1 t2
where t1.decode=t2.decode and t1.cr_or_db='cr' and t2.cr_or_db='db'
SQLfiddle:Output :Check out here