Mysql
 sql >> база данни >  >> RDS >> Mysql

Данните присъстват от редове до колони

В MySQL няма команда PIVOT, но има заобиколни решения - Основи на обобщената таблица:редове към колони... , основни таблици на MySQL (трансформиране на редове в колони) .

За вашия случай бихте могли да използвате нещо подобно -

SELECT AppNo,
  MAX(IF(code = 1, Location, NULL)) Location,
  MAX(IF(code = 1, Department, NULL)) Department,
  1 Code1,
  MAX(IF(code = 2, Location, NULL)) Location,
  MAX(IF(code = 2, Department, NULL)) Department,
  2 Code2,
  MAX(IF(code = 3, Location, NULL)) Location,
  MAX(IF(code = 3, Department, NULL)) Department,
  3 Code3,
  MAX(IF(code = 4, Location, NULL)) Location,
  MAX(IF(code = 4, Department, NULL)) Department,
  4 Code4,
  MAX(IF(code = 5, Location, NULL)) Location,
  MAX(IF(code = 5, Department, NULL)) Department,
  5 Code5
FROM <table name>
GROUP BY AppNo

P.S. Можете да стартирате тази заявка от съхранената рутина.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Не мога да накарам INSERT да работи

  2. Създайте MySQL таблица с PHP променлива

  3. Node.js MySQL се нуждае от постоянна връзка

  4. Как да актуализирате автоматично данни в базата данни в PHP

  5. Проверете за равенство в MySQL Float поле