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

Cách tổng hợp các tài khoản

Theo như tôi thấy, bạn cần tham gia DimAccounts với chính nó để liên kết tài khoản loại B với tài khoản loại S tương ứng của chúng, sau đó nối hàng đó được đặt thành FactBudget để cuối cùng có được các số liệu. Một cái gì đó như thế này:

SELECT
  f.TimeKey,
  s.AccountKey,
  SUM(f.Debit) AS Debit,
  SUM(f.Credit) AS Credit
FROM DimAccounts s
  INNER JOIN DimAccounts b ON b.AccountCode BETWEEN s.AccountFrom AND s.AccountTo
  INNER JOIN FactBudget  f ON f.AccountKey = b.AccountKey
WHERE s.AccountType = 'S'
  AND b.AccountType = 'B'
GROUP BY
  f.TimeKey,
  s.AccountKey


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thay thế NULL bằng 0 trong truy vấn máy chủ SQL

  2. Tại sao một CTE đệ quy trong Transact-SQL lại yêu cầu UNION ALL chứ không phải UNION?

  3. SQL để trả về hai cột đầu tiên của bảng

  4. 'Số nhận dạng nhiều phần' là gì và tại sao nó không thể bị ràng buộc?

  5. máy chủ sql chuyển đổi datetime thành múi giờ khác?