小编典典

如何在SQL中将列标题及其值转换为行?

sql

我有一张表,上面有列col1, col2, col3。该表中有很多行。

假设val1, val2, val3是这样的一行。我想得到的结果

Col1, Val1
Col2, Val2
Col3, Val3

那就是3行-每列和它的值一个。

我正在使用SQL Server2008。我了解了枢轴。枢轴是否可以解决此问题?有人可以指导我介绍一些示例或解决方案来解决此问题吗?

非常感谢


阅读 156

收藏
2021-04-22

共1个答案

小编典典

也许是这样的:

测试数据

DECLARE @T TABLE(Col1 INT, Col2 INT, Col3 INT)
INSERT INTO @T
VALUES (1,1,1)

询问

SELECT
    *
FROM
(
    SELECT
        t.Col1,
        t.Col2,
        t.Col3
    FROM
        @T AS t
) AS SourceTable
UNPIVOT
(
    Value FOR Col IN
    (Col1,Col2,Col3)
) AS unpvt

输出

1   Col1
1   Col2
1   Col3
2021-04-22