विचार प्रत्येक लेनदेन प्रकार के लिए पहले योग उत्पन्न करना है, 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