- 締切済み
SQLのSELECT結果を縦から横に抽出する方法
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
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- nda23
- ベストアンサー率54% (777/1415)
回答No.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