MySQL не поддържа синтаксис ANSI PIVOT/UNPIVOT, така че ви оставя да използвате:
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
Както можете да видите, операторите CASE трябва да бъдат дефинирани за стойност. За да направите това динамично, ще трябва да използвате Синтаксис на подготвеното изявление на MySQL (динамичен SQL) .