sql >> Base de Datos >  >> RDS >> Mysql

MySQL:cómo mostrar el valor de la fila como nombre de columna usando concat y group_concat

Deberías usar tablas pivotantes. No hay un comando PIVOT en MySQL, por lo que puede usar esta consulta -

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;

Tablas dinámicas de MySQL (transformar filas en columnas) .

Use la función GROUP_CONCAT en lugar de MAX, si hay varios available los valores son posibles.