方法一:使用CASE WHEN语句:
SELECT
id,
MAX(CASE WHEN column_name = 'column_name1' THEN value END) AS column_name1,
MAX(CASE WHEN column_name = 'column_name2' THEN value END) AS column_name2,
...
FROM table_name
GROUP BY id;
方法二:使用PIVOT 函数
SELECT *
FROM table_name
PIVOT (
MAX(value) FOR column_name IN ('column_name1', 'column_name2', ...)
);