重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

下記のようなテーブルがあります。

テーブル名:masta
フィールド:hinmei,tani,hiduke,ryou

これを
品名 | 単位 |1月|2月|3月|
A   |リットル|10|20|30|
B   |グラム |12|13|14|
のようにてんかいしたいのです。

現在SQLは
SELECT Hinmei ,Tani ,Hiduke ,SUM(ryou) as ryou FROM masuta
WHERE hiduke BETWEEN '200801' AND '200812'
GROUP BY Hinmei ,Tani ,Hiduke
このようにしてますが、横てんかいの方法が分かりません。
どのようなSQLをかけばいいのでしょうか?

A 回答 (1件)

例えば、こんな感じ。



SELECT
Hinmei,
Tani,
SUBSTR(hiduke,1,4) as Nen,
SUM(CASE SUBSTR(hiduke,5,2) WHEN '01' THEN ryou ELSE 0 END) as "1月",
SUM(CASE SUBSTR(hiduke,5,2) WHEN '02' THEN ryou ELSE 0 END) as "2月",
SUM(CASE SUBSTR(hiduke,5,2) WHEN '03' THEN ryou ELSE 0 END) as "3月",
SUM(CASE SUBSTR(hiduke,5,2) WHEN '04' THEN ryou ELSE 0 END) as "4月",
SUM(CASE SUBSTR(hiduke,5,2) WHEN '10' THEN ryou ELSE 0 END) as "10月",
SUM(CASE SUBSTR(hiduke,5,2) WHEN '11' THEN ryou ELSE 0 END) as "11月",
SUM(CASE SUBSTR(hiduke,5,2) WHEN '12' THEN ryou ELSE 0 END) as "12月"
FROM masta
WHERE hiduke BETWEEN '200801' AND '200812'
GROUP BY Hinmei,Tani,Nen
    • good
    • 0
この回答へのお礼

すばらしいです。
こんなに早く回答をもらえるとは思いませんでした。
ここに、書き込みするのも初めてなんです。

実際にSQLを打ち込んで、見事表ができました。

ありがとうございました。

お礼日時:2008/01/19 23:33

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

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