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

SQLのSELECT文について
DB:MYSQL5.0

テーブルAとテーブルBを結合して
テーブルAの項目と一緒(横)にテーブルBを抽出したいです。
どのようにすると実現できるのでしょうか?
よろしくお願いします。

Aテーブル
ID ITEM1
1 11111
2 22222
3 33333
4 44444

Bテーブル
ITEM1 CNT KBN
11111 1    1
11111 2    2
11111 3    3
22222 4    2
22222 5    3
33333 6    3

出力結果
ITEM1 KBN1 KBN2 KBN3
11111  1   2   3
22222  0   4   5
33333  0   0   6
44444  0   0   0

A 回答 (1件)

MySQLにはTRANSFORMが無いので、クロス集計はできません。


(1)KBNのとる値が決まっている。
(2)Accessにリンクできる。
上記、いずれかの場合は対応可能です。
(1)の場合の一例
SELECT A.ITEM1,
MAX(CASE WHEN B.KBN=1 THEN B.CNT ELSE 0 END) KBN1,
MAX(CASE WHEN B.KBN=2 THEN B.CNT ELSE 0 END) KBN2,
MAX(CASE WHEN B.KBN=3 THEN B.CNT ELSE 0 END) KBN3
FROM A LEFT JOIN B ON A.ITEM1=B.ITEM1 GROUP BY A.ITEM1
    • good
    • 1

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

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