【发布时间】:2020-02-13 21:25:32
【问题描述】:
我有一个棘手的场景。
表中数据如下
CustomerId Transaction Type Transaction Amount
1 Payment 100
1 payment 200
1 ReversePayment -100
1 ReversePayment -200
我有交易类型为“付款”、“反向付款”的跨国表。一个客户有多个记录,其中一些记录是 Payment,一些是 ReversePayment。
有没有办法按如下方式对数据进行排序
CustomerId Transaction Type Transaction Amount
1 Payment 100
1 ReversePayment -100
1 payment 200
1 ReversePayment -200
如果有人有解决办法,请帮忙。
【问题讨论】:
-
您仍然没有告诉我们必须遵循什么逻辑才能达到该顺序(无论是否或如何在代码中完成)。我们可以猜测一下:您想在连续的行上同时显示“匹配”付款和反向付款。是这样吗?如果是这样 - 反向付款是否总是与付款相匹配(也许,可能有一些“付款”没有被撤销,你最后需要那些?你也需要澄清这一点。)这不可能吗?例如,有 100 和 200 的付款,以及 -300 的单 反向付款?
-
如果是后者,你需要看一下payment或payments是或are被单次ReversePayment逆转,那么(1)问题通常不再有唯一的解决方案,并且 (2) 问题要困难得多。
-
逻辑不清楚。投票结束。
-
嗨,mathguy,是的,你是正确的。我的要求是在连续的行中同时显示“匹配”付款和反向付款
标签: sql database oracle sql-order-by analytical