MySQL non supporta la sintassi ANSI PIVOT/UNPIVOT, quindi puoi usare:
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
Come puoi vedere, le istruzioni CASE devono essere definite per valore. Per rendere questo dinamico, dovresti usare Sintassi dell'istruzione preparata di MySQL (SQL dinamico) .