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

SQL - Как да транспонирам?

MySQL не поддържа синтаксис ANSI PIVOT/UNPIVOT, така че ви оставя да използвате:

  SELECT t.userid
         MAX(CASE WHEN t.fieldname = 'Username' THEN t.fieldvalue ELSE NULL END) AS Username,
         MAX(CASE WHEN t.fieldname = 'Password' THEN t.fieldvalue ELSE NULL END) AS Password,
         MAX(CASE WHEN t.fieldname = 'Email Address' THEN t.fieldvalue ELSE NULL END) AS Email
    FROM TABLE t
GROUP BY t.userid

Както можете да видите, операторите CASE трябва да бъдат дефинирани за стойност. За да направите това динамично, ще трябва да използвате Синтаксис на подготвеното изявление на MySQL (динамичен SQL) .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Експортирайте MySQL база данни с PHP

  2. MySQL Alter Stored Procedure

  3. ефективен за паметта вграден SqlAlchemy итератор/генератор?

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

  5. Загубена връзка с MySQL сървър по време на заявка