sql >> Databasteknik >  >> RDS >> Mysql

MySQL - Hur man visar radvärde som kolumnnamn med hjälp av concat och group_concat

Du bör använda bordsvängning. Det finns inget PIVOT-kommando i MySQL, så du kan använda den här frågan -

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 pivottabeller (omvandla rader till kolumner) .

Använd GROUP_CONCAT-funktionen istället för MAX, om flera available värden är möjliga.



  1. PayPal ODBC-drivrutin

  2. Hur använder man GROUP BY för att sammanfoga strängar i MySQL?

  3. Hur INTERSECT fungerar i SQL Server

  4. Hur du hanterar dina PostgreSQL-databaser från ClusterControl CLI