oracle实现实现数据的数据相减操作

原表如上图,把opebill_id相同的行,对val进行的值进行相减,opetype是来自-去往。实现如下图效果:

第1个回答  2014-04-01
这个问题看似简单,其实很经典,需要用公式将表格中id 相同的行,变成同一行。然后再进行相减,公式是max(decode)连用,希望对你有帮助追问

能再具体点吗?decode可以实现吗

追答

绝对可以实现,需要自己努力尝试,可以尝试将‘大海燎原’的
select
opebill_id,
sum(decode(opetype, '倒灌来自', val, '倒灌去玩', -val, 0)) as val
from tb_name
group by opebill_id
中SUM 改变成为MAX尝试。

第2个回答  2014-04-02
select
opebill_id,
sum(decode(opetype, '倒灌来自', val, '倒灌去玩', -val, 0)) as val
from tb_name
group by opebill_id本回答被提问者采纳