下午好堆栈流。
我需要帮助转动一些数据。我试过在互联网上查找如何做但没有运气。
我有4列(a,b,c,d)和一行数据。
我希望数据有2列4行。
a b c d
1 2 3 4
成为
a 1
b 2
c 3
d 4
SQL fiddle here http://sqlfiddle.com/#!6/68b32/280
感谢您的时间
答案 0 :(得分:1)
SELECT letter, val
FROM @t
unpivot(val for letter in (a,b,c,d)) as unpvt
答案 1 :(得分:1)
您正在寻找的是 试试这个 - 在sql-server-2012中测试: 结果:DECLARE @t TABLE
(
a int,
b int,
c int,
d int
)
INSERT INTO @t
SELECT 1,2,3,4
select
unpvt.colName
, unpvt.colVal
from (
select
a
, b
, c
, d
from @t
) p
UNPIVOT (colVal FOR colName IN (a, b, c, d) ) as unpvt
colName colVal
a 1
b 2
c 3
d 4