Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL - Masalah Pengelompokan Tabel Pivot Dinamis

SQL berikut dapat menjadi titik awal untuk memecahkan masalah:

SELECT
  es.employee_id,
  CONCAT(e.first_name, " ", e.last_name) AS employee,
  MAX(IF (es.skill_id = 1, es.date_trained, null)) AS '1',
  MAX(IF (es.skill_id = 2, es.date_trained, null)) AS '2',
  MAX(IF (es.skill_id = 3, es.date_trained, null)) AS '3'
FROM
  employee_skills es
  LEFT JOIN employees e ON es.employee_id = e.id
GROUP BY
  es.employee_id 

Hasilnya adalah tabel pivot seperti ini:

| employee_id | employee   | 1          | 2          | 3          |
+-------------+------------+------------+------------+------------+
| 1001675     | Person Two | (null)     | 2016-07-02 | 2016-07-04 |
| 1006111     | Person One | 2016-07-01 | 2016-07-11 | (null)     |

Jika SQL dibuat secara dinamis, ID keterampilan dapat diganti dengan nama keterampilan. Juga dimungkinkan untuk mengganti ID setelahnya.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Transaksi Paralel di mysql

  2. Hubungkan ke server MySQL lokal tanpa sudo

  3. NHibernate Lancar tidak dapat memuat MySql.Data dari GAC dalam mode debug pengujian

  4. Bagaimana menginstal dan mengkonfigurasi mysql 5.6.16 di windows 7

  5. Pernyataan Kueri Dinamis MySQL dengan Python