在SQL表中将数据转置出来,可以使用以下方法:
方法一:使用CASE语句和聚合函数
SELECT
MAX(CASE WHEN column_name = 'value1' THEN value END) AS value1,
MAX(CASE WHEN column_name = 'value2' THEN value END) AS value2,
MAX(CASE WHEN column_name = 'value3' THEN value END) AS value3
FROM your_table
GROUP BY id;
方法二:使用UNION ALL和子查询
SELECT
id,
'value1' AS column_name,
value1 AS value
FROM your_table
UNION ALL
SELECT
id,
'value2' AS column_name,
value2 AS value
FROM your_table
UNION ALL
SELECT
id,
'value3' AS column_name,
value3 AS value
FROM your_table;
方法三:使用UNPIVOT操作符(仅适用于部分数据库)
SELECT
id,
column_name,
value
FROM your_table
UNPIVOT (
value FOR column_name IN (value1, value2, value3)
) AS unpvt;
以上是三种常见的方法,具体使用哪种方法取决于你所使用的数据库和数据表的结构。