MySQL không hỗ trợ cú pháp ANSI PIVOT / UNPIVOT, vì vậy bạn có thể sử dụng:
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
Như bạn có thể thấy, các câu lệnh CASE cần được xác định cho mỗi giá trị. Để tạo tính năng động này, bạn cần sử dụng Cú pháp Câu lệnh chuẩn bị sẵn của MySQL (SQL động) .