Skip to Main Content

Japanese

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

同じ構造の2つのテーブルから一括で値を集計する方法について

user9260455Jul 31 2012 — edited Jul 31 2012
同じ定義体の2つのテーブルから一回で集計関数(Sum)を使って合計値を
取得するSQL文について教えていただきたく投稿させていただきました。

・Table_A には
ID ZDAY CNT
-- -------- ---
1 2012/6/1 1
1 2012/6/2 2
2 2012/6/3 3
2 2012/6/4 4

・Table_B には
ID ZDAY CNT
-- -------- ---
1 2012/7/1 5
1 2012/7/2 6
2 2012/7/3 7
2 2012/7/4 8

というデータがあるとします。
テーブルが1つの場合には
SELECT ID,Sum(CNT)
FROM Table_A
GROUP BY ID;
として以下の結果が取得できます。

ID SUM(CNT)
-- --------
1 3
2 7

UNIONで結合してみたのですが・・・
SELECT ID,Sum(CNT)
FROM Table_A
GROUP BY ID
UNION
SELECT ID,Sum(CNT)
FROM Table_B
GROUP BY ID;
結果は、

ID SUM(CNT)
-- --------
1 3
1 11
2 7
2 15
となってしまいます。

最終的な取得結果を以下のようにしたい場合にはどのようなSQL文を
記述すればよいか、ご教示をお願い致します。

ID SUM(CNT)
-- --------
1 14
2 22

宜しくお願いします。


----------------------------------------------------------
<以下、コピペにてご使用下さい>

create table table_a(
id number,
zday date,
cnt number);

create table table_b(
id number,
zday date,
cnt number);

insert into table_a values(1,'2012/6/1',1);
insert into table_a values(1,'2012/6/2',2);
insert into table_a values(2,'2012/6/3',3);
insert into table_a values(2,'2012/6/4',4);

insert into table_b values(1,'2012/7/1',5);
insert into table_b values(1,'2012/7/2',6);
insert into table_b values(2,'2012/7/3',7);
insert into table_b values(2,'2012/7/4',8);
----------------------------------------------------------
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Aug 28 2012
Added on Jul 31 2012
2 comments
4,753 views