-3
マイ表階層テーブルの子値の合計はどのようにして計算できますか?
create table tbl_trial_balance
(
ID int primary key,
Name char(20) not null,
Parent_code int references tbl_trial_balance(ID), -- Self Join
Debit float,
Credit float
)
go
INSERT INTO tbl_trial_balance (ID,Name,Parent_code,Debit,Credit) values(1,'Assets',null,null,null);
INSERT INTO tbl_trial_balance (ID,Name,Parent_code,Debit,Credit) values(2,'Current Assets',1,null,null);
INSERT INTO tbl_trial_balance (ID,Name,Parent_code,Debit,Credit) values(3,'Bank Account',2,null,null);
INSERT INTO tbl_trial_balance (ID,Name,Parent_code,Debit,Credit) values(4,'DBBL A/C',3,5000,null);
INSERT INTO tbl_trial_balance (ID,Name,Parent_code,Debit,Credit) values(5,'DBBL A/C',3,4000,null);
INSERT INTO tbl_trial_balance (ID,Name,Parent_code,Debit,Credit) values(6,'DBBL A/C',3,3000,null);
INSERT INTO tbl_trial_balance (ID,Name,Parent_code,Debit,Credit) values(7,'DBBL A/C',3,null,7000);
INSERT INTO tbl_trial_balance (ID,Name,Parent_code,Debit,Credit) values(8,'IFIC A/C',3,3000,null);
INSERT INTO tbl_trial_balance (ID,Name,Parent_code,Debit,Credit) values(9,'IFIC A/C',3,5000,null);
INSERT INTO tbl_trial_balance (ID,Name,Parent_code,Debit,Credit) values(10,'IFIC A/C',3,null,6000);
INSERT INTO tbl_trial_balance (ID,Name,Parent_code,Debit,Credit) values(11,'IFIC A/C',3,null,9000);
INSERT INTO tbl_trial_balance (ID,Name,Parent_code,Debit,Credit) values(112,'IFIC A/C',3,null,8000);
go
私は、特定のノードのすべての子からの値を合計します。例えば、トップレベルAssets
ノートのために私は期待:セカンドレベルCurrent Asset
ノードに対して
Name Debit Credit
Assets 20000 30000
、私は期待して:
Name Debit Credit
Current Asset 20000 30000
は私が行うことができない、単純なGROUP BYと:
select
Name,
SUM(Debit),
SUM(Credit)
FROM tbl_trial_balance
GROUP BY Name
これはどのようにすることができますか?所望の出力はタイプミスた場合
。これまでに試したこともお分かりいただけますか? –
質問を投稿する前に、[よくある質問ですか?](http://stackoverflow.com/help/how-to-ask)をお読みください。適切な*タイトルを使用して、問題の内容と試したことを説明してください。 "私はデータを得ることができません"とは*あなたが使った*クエリ*がなければ何も意味しません。あなたが何を期待し、何を得たのかを説明しなければ、これを解決することは不可能です。 'SELECT * FROM tbl_trial_balance'は明らかに動作します –
私は' CREATE TABLE'ステートメントから明らかな試用残高 –