• 締切済み

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

みんなの回答

  • 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

関連するQ&A