我有10列的表格,我的查询总是只给我1条记录。 现在我想将此单个记录转换为键值对。
Ex:SELECT * FROM dbo.Table 输出:
col1 col2 col3 col4 col5
============================
val1 val2 val2 val4 val5
期望输出如下
name value
==============
col1 val1
col2 val2
col3 val3
col4 val4
col5 val5
请建议如何执行此操作。
非常感谢
答案 0 :(得分:2)
假设您的列是a)固定和b)相同类型,您可以使用UNPIVOT来实现此转换:
select name, value
from MyTable
unpivot
(
name
for Value in ([Col1], [Col2], [Col3], [Col4], [Col5])
) x;