MySQL understøtter ikke ANSI PIVOT/UNPIVOT syntaks, så du kan bruge:
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
Som du kan se, skal CASE-sætningerne defineres pr. værdi. For at gøre dette dynamisk, skal du bruge MySQL's Prepared Statement (dynamisk SQL) syntaks .