sql >> データベース >  >> RDS >> Sqlserver

口座残高を計算するための SQL クエリの最適化

    アイデアは、最初に各トランザクション タイプの合計 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
      

    1. 時間間隔を平均化する方法は?

    2. MyBatis<挿入>マップされたメソッドからの戻り値

    3. MySQL:正の値の平均のみを取得する方法は?

    4. Oracleでxmltableを使用する方法は?