Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come sommare i conti

Per quanto posso vedere, devi iscriverti a DimAccounts a se stesso per associare gli account di tipo B ai corrispondenti account di tipo S, quindi unire quella riga impostata su FactBudget per ottenere finalmente le cifre. Qualcosa del genere:

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