Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL - Comment afficher la valeur de ligne comme nom de colonne en utilisant concat et group_concat

Vous devez utiliser le tableau pivotant. Il n'y a pas de commande PIVOT dans MySQL, vous pouvez donc utiliser cette requête -

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;

Tableaux croisés dynamiques MySQL (transformer les lignes en colonnes) .

Utiliser la fonction GROUP_CONCAT au lieu de MAX, si plusieurs available valeurs sont possibles.