最简单的方法是使用UNPIVOT关键字进行列转行操作。
例如,假设有一个名为“table_name”的表,具有以下结构和数据:
col1 | col2 | col3
-----+------+------+
val1 | val2 | val3
要将这些列转换为行,可以使用UNPIVOT关键字:
SELECT *
FROM table_name
UNPIVOT (column_value FOR column_name IN (col1, col2, col3)) unpivot_data;
执行此查询后,将生成以下结果:
column_name | column_value
------------+--------------
col1 | val1
col2 | val2
col3 | val3
这样,原来的列现在被转换为行,并且每一行都包含了列名和对应的值。