вычитание определенных значений столбца для количества строк, пока оно не станет нулевым в Oracle - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть ряд строк, связанных с некоторыми суммами, некоторые из которых продаются, а некоторые - покупают.

Expense Head        LI        Sell or Buy       Amount
------------        --        -----------       ------
1                   1         S                 100
1                   2         S                 60
1                   3         S                 40
1                   4         B                 50
1                   5         B                 50
1                   6         B                 70

Я хочу вычесть каждую покупку из первой продажи, пока первая строка не станет нулевой. Затем я вычту следующую покупку из второй продажи и так далее. После операции она станет

Expense Head        LI        Sell or Buy       Amount
------------        --        -----------       ------
1                   1         S                 0       #(LI 1-4-5)
1                   2         S                 0       #(LI 2-6)
1                   3         S                 30      #(rest of LI6(10))
1                   4         B                 0
1                   5         B                 0
1                   6         B                 0

Первый вопрос, можно ли сделать запрос Oracle? Второй вопрос: если нет, каким должен быть подход, чтобы получить желаемый результат?

...