Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL - So zeigen Sie den Zeilenwert als Spaltennamen mit concat und group_concat an

Sie sollten das Pivotieren von Tabellen verwenden. Es gibt keinen PIVOT-Befehl in MySQL, daher können Sie diese Abfrage verwenden -

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-Pivot-Tabellen (Zeilen in Spalten umwandeln) .

Verwenden Sie die GROUP_CONCAT-Funktion anstelle von MAX, wenn mehrere available Werte sind möglich.