Sqlserver
 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Запазването на XML съдържание с кодиране ISO-8859-1 с помощта на Entity Framework в XML колоната на SQL Server 2008 дава грешка при кодиране

  2. Инструкция PRINT в T-SQL

  3. Използване на sql тип данни за дата и EF4

  4. как да конфигурирате конфигурационния файл за хибернация за sql сървър

  5. Кои настройки осигуряват формат за дата и час по подразбиране на SQL Server?