dポイントプレゼントキャンペーン実施中!

いつもお世話になっています。

下のテーブルデータから下記VIEW結果を表示する場合、
どのようなSQL文で出力が可能になるのでしょうか。
※GROUP BY利用では集計値でない商品名、得意先名を出力できず困っています。

初心者的な質問で申し訳ありませんが、ご回答よろしくお願いします。


○環境:Windows Server 2003、 SQLServer 2005
-------------------------------------------
「売上明細テーブル」
商品CD 商品名 得意先CD 得意先名 価格

1 商品1 1001 得意先1 100
1 商品1 1001 得意先1 100
1 商品1 2002 得意先2 100
2 商品2 2002 得意先2 200
2 商品2 3003 得意先3 200
2 商品2 3003 得意先3 200

-------------------------------------------
「VIEW結果」※価格は商品CD+得意先CDキーの合計値です。
商品CD 商品名 得意先CD 得意先名 価格(合計)

1 商品1 1001 得意先1 200
1 商品1 2002 得意先2 100
2 商品2 2002 得意先2 200
2 商品2 3003 得意先3 400

A 回答 (2件)

SELECT


   A.商品CD
,B.商品名
  ,A.得意先CD
,C.得意先名
  ,A.価格合計
FROM (
   SELECT
      商品CD
     ,得意先CD
     ,SUM(価格)
   FROM 売上明細テーブル
   GROUP BY 商品CD,得意先CD
) AS A
LEFT JOIN
(
SELECT 商品CD,商品名
FROM 売上明細テーブル
GROUP BY 商品CD,商品名
) AS B
ON A.商品CD=B.商品CD
LEFT JOIN
(
SELECT 得意先CD,得意先名
FROM 売上明細テーブル
GROUP BY 得意先CD,得意先名
) AS C
ON A.得意先CD=C.得意先CD
ORDER BY A.商品CD,A.得意先CD
でどうでしょう。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
解決しました。

お礼日時:2012/02/02 09:07

簡単な方法はGROUP BYに商品名も得意先名を入れる方法です。


無駄な動きですが、集計単位には変わりは無いのでお試し下さい。
    • good
    • 0
この回答へのお礼

ご回答ありがとうござます。

回答にあるGROUP BYに商品名も得意先名も入れると、同一商品に
得意先が2カ所あるテーブルのため、意図する集計結果が表示されなく
なってしまいます。

お礼日時:2012/02/01 08:47

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

関連するカテゴリからQ&Aを探す