我需要在Oracle SQL中解决这个问题,我有这个表:
| 平衡|账户|子帐户|值|
| --|--|--|--|
| 251 | 23000 | 230014 |-1000|
| 251 | 23001 | 230013 |一千个|
| 251 | 23002 | 230012 |- 一千|
| 250 | 22000 | 220014 | 1000 |
| 250 | 22001 | 220013 |五百|
| 250 | 22002 | 220012 |五百|
| 250 | 22011 | 220011 |-200|
| 250 | 22012 | 220010 |200|
最后,我只想要这个:
| 平衡|账户|子帐户|值|
| --|--|--|--|
| 251 | 23002 | 230012 |- 一千|
| 250 | 22000 | 220014 | 1000 |
| 250 | 22001 | 220013 |五百|
| 250 | 22002 | 220012 |五百|
我想通过余额删除净值,具有相同的金额,而不是总和(金额)。
你能帮帮我吗
谢谢你,
2条答案
按热度按时间eulz3vhy1#
您可以使用解析函数为每个
balance
/value
组合的行建立索引,然后计算具有相同balance
/绝对value
/索引的行对并排除这些行:其中,对于样本数据:
输出:
| 平衡|账户|子帐户|值|
| --|--|--|--|
| 250 | 22001 | 220013 |五百|
| 250 | 22002 | 220012 |五百|
| 250 | 22000 | 220014 | 1000 |
| 251 | 23002 | 230012 |- 一千|
fiddle
lqfhib0f2#