複数テーブルを結合させながらの集計(SUM)に関して
930339Apr 29 2012 — edited May 6 2012以下のようなSQLを作成し、数量の合計を取得しようと考えていますが、どうしても結果が
求めているような形となりません。
※数量が合わない
単純なSQLの記述の問題かとは思われますが、教えて頂きたいと思います。
《データ》
t_在庫日次
品目番号,数量,場所コード
A-001 5000 2YYY
A-001 -3000 2YYY
A-001 3000 2XXX
t_品目マスタ
品目マスタ,品目名称
A-001 AAAA
上記の2つのテーブルを検索し、数量の合計を出力したいと考えています。
《求める結果》
場所コード,品目番号,品目名称,数量
2YYY A-001 AAAA 2000 ← ここが6000 となってしまう。
2YYY A-001 AAAA 3000 ← ここが4000 となってしまう。
《記述SQL》
SELECT t.場所コード,t.品目番号,z.品目名称,SUM(t.数量) FROM t_在庫日次 t,t_品目マスタ z
WHERE t.品目番号 = z.品目番号(+) GROUP BY t.場所コード,t.品目番号,z.品目名称 ORDER BY t.場所コード
尚、以下に上記のテーブル構造とデータのSQLを作成しましたので、教えて頂ければ
幸いです。
よろしくお願いします。
☆ 作成SQL
create table t_在庫日次
(
品目番号 char(10) ,
数量 integer,
場所コード char(10)
)
insert into t_在庫日次22 (品目番号,数量,場所コード) values('A-001',5000,'2YYY');
insert into t_在庫日次22 (品目番号,数量,場所コード) values('A-001',-3000,'2YYY');
insert into t_在庫日次22 (品目番号,数量,場所コード) values('A-001',3000,'2XXX');
create table t_品目マスタ
(
品目番号 char(10) ,
品目名称 char(10)
)
insert into t_品目マスタ (品目番号,品目名称) values('A-001','AAAA');