我有以下问题:我有一行数据,我想用它的名字旋转它。
Collnames: a b c d
0 NULL 1 0
我喜欢下面的内容:
Collnames Data
a 0
b Null
c 1
d 0
我为此做了一个解决方案,但是它使用了带游标的动态SQL,我并不为此感到骄傲。有没有更多的方法可以解决这个问题?
THX
答案 0 :(得分:4)
这是UNPIVOT
,但内置运算符不会保留b
,因为值为NULL
,因此您可以这样做。
SELECT ColNames,Data
FROM YourTable
CROSS APPLY ( VALUES ('a', a),
('b', b),
('c', c),
('d', d)) V(ColNames, Data)