合計と小計を取得し、値のロールアップを表示しようとしている次のテーブル構造があります。
ChartOfAccounts(AccountNumber, AccountDescription, ParentAccountNumber, IsControlAccount)
Ledger(LedgerId, JournalId, AccountNumber, IsDebit, Amount)
私は CTE を使用して必要な親子関係を取得することができましたが、これを使用して親勘定にロールアップする制御勘定残高を取得する方法がわかりません。
これまでのところ、次のクエリをまとめることができましたが、これは完全に私が望むものではありません --> SQL Fiddle。現在のクエリは、親子の合計を正しくロールアップおよびグループ化していないようです。(フィドルから年、月の列を除外しました)
問題を説明する別の方法は、すべてのコントロール アカウントがその子アカウントの合計を持っている必要があると言うことです。
私の必要な出力は次のとおりです(年、月、AccountNumber、AccountDescription、DebitBalance、CreditBalance、Balance)
|Account#|Acc Desc | DR | CR | BAL |
|1000 |Accounts Receivable |10000 |5000 |5000 |
|1200 |Buyer Receivables |5000 |0 |5000 |
|12001 |Buyer Receivables - Best Buy |5000 |0 |5000 |
|1500 |Offers |5000 |5000 |0 |
|4000 |Accounts Payable | |4475.06 |4475.06 |
|4100 |Supplier Invoice Payables | |4475.06 |4475.06 |
|41002 |Supplier Invoice Payables - Knechtel | |4475.06 |4475.06 |
|6000 |Revenue | |524.93 |524.93 |
|6100 |Membership Fees Revenue | | |0 |
|6200 |Processing Fees Revenue | |100 |100 |
|62002 |Processing Fees Revenue - Knechtel | |100 |100 |
|6300 |Fees Revenue | |424.93 |424.93 |
|63002 |Fees Revenue - Knechtel | |424.93 |424.93 |