Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Tối ưu hóa truy vấn SQL để tính số dư tài khoản

Ý tưởng là đầu tiên tạo tổng cho mỗi loại giao dịch, DebitCredit . Cùng với đó, hãy kết hợp nó với Bankdetails để tính toán số dư hiện tại.

;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. Máy ảo Azure để sử dụng máy chủ SQL

  2. Làm cách nào tôi có thể sử dụng một nhóm kết nối mssql duy nhất trên nhiều tuyến đường trong ứng dụng web Express 4?

  3. DEGREES () Ví dụ trong SQL Server

  4. Cách tốt nhất để lưu trữ thời gian (hh:mm) trong cơ sở dữ liệu

  5. Sử dụng dịch vụ tích hợp máy chủ SQL (SSIS) để điền vào bản ghi QuickBooks