MySQL unterstützt keine ANSI-PIVOT/UNPIVOT-Syntax, sodass Sie Folgendes verwenden müssen:
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
Wie Sie sehen können, müssen die CASE-Anweisungen pro Wert definiert werden. Um dies dynamisch zu machen, müssten Sie Vorbereitete Anweisung (dynamisches SQL) von MySQL .