アイデアは、最初に各トランザクション タイプの合計 Debit
を生成することです。 そしてCredit
.それで、それを Bankdetails
に結合します 現在の残高を計算します。
;with cte as( select AccNo, Credit = sum(case when TranType = 'Credit' then Amount else 0 end), Debit = sum(case when TranType = 'Debit' then Amount else 0 end) from Trandetails group by AccNo ) select bd.AccName, bd.AccNo, CurrBal = bd.opBal - c.Debit + c.Credit from BankDetails bd inner join cte c on c.Accno = bd.Accno
プレ>