QA@IT
«質問へ戻る

質問を投稿

SQLサーバで同じ条件がある場合の集計

初めて質問させて頂きます。

SQLにて下記のことを実現したいと思っております。

テーブル:お客様情報
SEQ お客様番号 注文番号  年齢層  単価 
001 11111111  00001   大人   100
002 11111111  00002   大人   100
003 11111111  00003   子供   50
004 11111111  00004   子供   50
005 11111122  00005   大人   100
006 11111122  00006   子供   50

テーブル:地域別
お客様番号   地域  都道府県
11111111   関東   東京
11111122   関西   京都

このような二つのテーブルを集計(単価)と結合して
下記のようなデータを取得したいのですが
お客様番号 年齢層  価格   地域  都道府県
11111111  大人   200  関東   東京
11111111  子供   100  関東   東京
11111122  大人   100   関西   京都
11111122  子供   50   関西   京都

年齢層が大人の場合、単価を集計し、
子供の場合でも同様に集計するというCASE文での分岐ではなく、
同じ注文番号に対して、同じ年齢層は集計するというようなSQLで
組みたいと思っております。

どのようにやるのが良いのか御教授頂けますよう宜しくお願いします。

分かりずらい文になっていましたらすいません。

初めて質問させて頂きます。

SQLにて下記のことを実現したいと思っております。

テーブル:お客様情報
SEQ お客様番号 注文番号  年齢層  単価 
001 11111111  00001   大人    100
002 11111111  00002   大人   100
003 11111111  00003   子供    50
004 11111111  00004   子供   50
005 11111122  00005   大人   100
006 11111122  00006   子供    50

テーブル:地域別
お客様番号   地域  都道府県
11111111   関東   東京
11111122   関西   京都

このような二つのテーブルを集計(単価)と結合して
下記のようなデータを取得したいのですが
お客様番号 年齢層  価格   地域  都道府県
11111111  大人    200  関東   東京
11111111  子供    100  関東   東京
11111122  大人   100   関西   京都
11111122  子供    50   関西   京都

年齢層が大人の場合、単価を集計し、
子供の場合でも同様に集計するというCASE文での分岐ではなく、
同じ注文番号に対して、同じ年齢層は集計するというようなSQLで
組みたいと思っております。

どのようにやるのが良いのか御教授頂けますよう宜しくお願いします。

分かりずらい文になっていましたらすいません。