Mysql
 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 (трансформиране на редове в колони) .

Използвайте функцията GROUP_CONCAT вместо MAX, ако available е няколко възможни са стойности.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Моята уеб хостинг компания казва, че нещо не е наред с PHP кода

  2. Ръководство за проектиране на база данни за система за управление на служители в MySQL

  3. Как да получите еквивалент на ResultSetMetaData без ResultSet

  4. Бавна заявка към information_schema.tables

  5. използвайте променлива за име на таблица в mysql sproc