我想找到一种将列拆分为行的方法,但我可以找到许多解决方案都使用函数。
我很好奇我们可以在没有功能的情况下这样做吗?
以下是我的示例数据:
id
value a, b, c, d, e
这是一个名为id的COLUMN,其值为' a,b,c,d,e'
我想让它们像
row 1 a
row 2 b
row 3 c
row 4 d
row 5 e
答案 0 :(得分:0)
使用UNPIVOT
示例:
DECLARE @PIVOTED TABLE
( KEYVAL VARCHAR(50)
, A INT
, B INT
, C INT
, D INT
, E INT)
INSERT INTO @PIVOTED
( KEYVAL, A, B, C, D, E )
VALUES
('Test 1', 1, 7, 6, 4, 3),('Test 2', 9, 3, 5, 4, 6)
SELECT
KEYVAL
, ABCKeys
, ABCVals
FROM
( SELECT *
FROM @PIVOTED
) p UNPIVOT
( ABCVals FOR ABCKeys IN ( A, B, C, D, E )
) AS unpvt
ORDER BY KEYVAL;