如何将列标题及其值转换为sql中的行?

Vin*_*oth 7 sql sql-server-2008

我有一张带柱子的桌子说col1, col2, col3.该表中有许多行.

我们假设val1, val2, val3是一个这样的行.我希望得到结果

Col1, Val1
Col2, Val2
Col3, Val3
Run Code Online (Sandbox Code Playgroud)

这是3行 - 每列一个及其值.

我正在使用SQL Server 2008.我读到了关于支点.枢轴是解决这个问题的方法吗?有人可以告诉我一些例子或解决方案如何解决这个问题?

非常感谢

Ari*_*ion 6

也许是这样的:

测试数据

DECLARE @T TABLE(Col1 INT, Col2 INT, Col3 INT)
INSERT INTO @T
VALUES (1,1,1)
Run Code Online (Sandbox Code Playgroud)

询问

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
Run Code Online (Sandbox Code Playgroud)

产量

1   Col1
1   Col2
1   Col3
Run Code Online (Sandbox Code Playgroud)