Mysql
 sql >> Baza danych >  >> RDS >> Mysql

SQL - Jak transponować?

MySQL nie obsługuje składni ANSI PIVOT/UNPIVOT, więc możesz użyć:

  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

Jak widać, instrukcje CASE muszą być zdefiniowane według wartości. Aby było to dynamiczne, musisz użyć Składnia przygotowanej instrukcji MySQL (dynamiczny 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. Obsługa PDO dla wielu zapytań (PDO_MYSQL, PDO_MYSQLND)

  2. Dostrajanie wydajności zapytań MySQL

  3. Jak działa funkcja RPAD() w MySQL

  4. MySQL MONTHNAME() z liczb

  5. Jak uzyskać dostęp do zdalnego serwera za pomocą lokalnego klienta phpMyAdmin?