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 tGROUP BY t.userid
如您所见,需要按值定义CASE语句。要使其动态化,您需要使用MySQL的Prepared Statement(dynamic
SQL)语法。



