MySQL tidak mendukung sintaks ANSI PIVOT/UNPIVOT, sehingga Anda harus menggunakan:
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
Seperti yang Anda lihat, pernyataan CASE perlu didefinisikan per nilai. Untuk membuat ini dinamis, Anda harus menggunakan Sintaks Pernyataan yang Disiapkan MySQL (SQL dinamis) .