Запуск баланса в sql - PullRequest
0 голосов
/ 22 мая 2018

Я пробовал следующий запрос для получения транзакций по счету

select TranRef, TrnDate, AcNumber, AcName, DrCr, amount from Accounts
join Voucher
on Accounts.acid = voucher.accountno
join Transactions
on Transactions.TrnRef = Voucher.TranRef
where acnumber = 1010

Result of my query

, но мне нужен результат в следующем формате

the Result which I want

1 Ответ

0 голосов
/ 22 мая 2018

Использование Окно Функция:

select TranRef, TrnDate, AcNumber, AcName, DrCr, amount,
       (case when DrCr= 'Dr' then amount else 0 end) as Debit,
       (case when DrCr= 'Cr' then amount else 0 end) as Credit,
       sum(case when DrCr = 'Cr' then amount else -amount end) over (partition by v.accountno order by TranRef) as Balance
from Accounts a
inner join Voucher v on a.acid = v.accountno
inner join Transactions t on t.TrnRef = v.TranRef
where v.accountno = 1010;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...