プロが教える店舗&オフィスのセキュリティ対策術

いつもお世話になっております。
pl/sqlでの処理なのですが、タイトルのとおり
テーブルの結合と集計で分からないところがあり、
こちらで質問させていただきました。

処理内容は
あるグループでレコードを集計し、
そのグループが重複する他のテーブルと結合したいと
考えております。

【テーブル1】
(班) (回数) (秒)
aaa| 10| 100
aaa| 20| 200
bbb| 10| 150
bbb| 20| 100
ccc| 10| 100
ccc| 30| 250
: : :

まずこれを集計し、件数を追加して
(班) (回数) (秒) (件)
aaa| 30| 300| 2
bbb| 30| 250| 2
ccc| 40| 350| 2
: : : :

というようにまとめ、

【テーブル2】
(年月) (班) (円)
200904| aaa| 1000
200905| bbb| 1500
200904| ccc| 2000
: : :

というテーブルと結合して
(年月) (班) (回数) (秒) (円×件)
200904| aaa| 30| 300| 2000
200905| bbb| 30| 250| 3000
200904| ccc| 40| 350| 4000
: : : : :

という形にしたいのですが可能でしょうか?
例に挙げたのは3件しかありませんが
テストデータは1万件以上ありそれを処理します。
初心者なので、テーブルの結合の仕方、
集計の仕方が分からず行き詰っております。
どなたか、お力を貸していただけないでしょうか。
よろしくお願いいたします。

A 回答 (1件)

select


テーブル2.年月 "年月",
テーブル2.班 "班",
テーブル1集計結果.回数計 "回数",
テーブル1集計結果.秒計 "秒",
テーブル1集計結果.件 * テーブル2.円 "円×件"
from
(select 班,sum(回数) 回数計,sum(秒) 秒計,count(*) 件 from テーブル1 group by 班) テーブル1集計結果,
テーブル2
where テーブル1集計結果.班=テーブル2.班
;
    • good
    • 1
この回答へのお礼

期待通り、最終的に欲しい答えが得られました!!
ありがとうございました!!

お礼日時:2009/06/29 09:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!