MySQL ondersteunt de ANSI PIVOT/UNPIVOT-syntaxis niet, dus u kunt het volgende gebruiken:
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
Zoals je kunt zien, moeten de CASE-statements per waarde worden gedefinieerd. Om dit dynamisch te maken, moet u MySQL's Prepared Statement (dynamische SQL) syntaxis .