sql >> データベース >  >> RDS >> Mysql

行から列に存在するデータ

    MySQLにはPIVOTコマンドはありませんが、回避策があります-ピボットテーブルの基本:行から列... MySQLピボットテーブル(行を列に変換)

    あなたの場合、あなたはこのようなものを使うことができます-

    SELECT AppNo,
      MAX(IF(code = 1, Location, NULL)) Location,
      MAX(IF(code = 1, Department, NULL)) Department,
      1 Code1,
      MAX(IF(code = 2, Location, NULL)) Location,
      MAX(IF(code = 2, Department, NULL)) Department,
      2 Code2,
      MAX(IF(code = 3, Location, NULL)) Location,
      MAX(IF(code = 3, Department, NULL)) Department,
      3 Code3,
      MAX(IF(code = 4, Location, NULL)) Location,
      MAX(IF(code = 4, Department, NULL)) Department,
      4 Code4,
      MAX(IF(code = 5, Location, NULL)) Location,
      MAX(IF(code = 5, Department, NULL)) Department,
      5 Code5
    FROM <table name>
    GROUP BY AppNo
    

    P.S.このクエリは、保存されているルーチンから実行できます。



    1. Flywayのプレースホルダー式を無視するにはどうすればよいですか?

    2. SQLで文字列をトリミングする方法

    3. 単一の行が見つからない場合はデフォルト値を返します

    4. 枢機卿以外の値を持つピボットテーブル