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

MySQL-concatおよびgroup_concatを使用して行の値を列名として表示する方法

    テーブルピボットを使用する必要があります。 MySQLにはPIVOTコマンドがないため、このクエリを使用できます-

    SELECT
      t1.id,
      MAX(IF(t2.typename = 'CL', t1.available, NULL)) AS CL,
      MAX(IF(t2.typename = 'ML', t1.available, NULL)) AS ML
    FROM table1 t1
      JOIN table2 t2
        ON t1.typeid = t2.typeid
    GROUP BY
      t1.id;
    

    MySQLピボットテーブル(行を列に変換)

    複数のavailableの場合は、MAXの代わりにGROUP_CONCAT関数を使用します 値は可能です。



    1. 初心者と中級者のための10のMySQLデータベースインタビューの質問

    2. Oracleでの<>の意味

    3. SQLDeveloperの12cアダプティブプラン

    4. SQLでREPLACEを使用する方法