Использование Окно Функция:
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;