Sql server 2008 SQL将前1行结果转换为列
我的表有10列,我的查询总是只给我一条记录。 现在我想把这条记录转换成键值对 例如:从dbo.表中选择* 输出: 预期输出如下Sql server 2008 SQL将前1行结果转换为列,sql-server-2008,Sql Server 2008,我的表有10列,我的查询总是只给我一条记录。 现在我想把这条记录转换成键值对 例如:从dbo.表中选择* 输出: 预期输出如下 name value ============== col1 val1 col2 val2 col3 val3 col4 val4 col5 val5 请建议如何做到这一点 非常感谢假设您的列a)固定,b)类型相同,您可以使用来实现此转换: select name, value from MyTable unpivot
name value
==============
col1 val1
col2 val2
col3 val3
col4 val4
col5 val5
请建议如何做到这一点
非常感谢假设您的列a)固定,b)类型相同,您可以使用来实现此转换:
select name, value
from MyTable
unpivot
(
name
for Value in ([Col1], [Col2], [Col3], [Col4], [Col5])
) x;
select name, value
from MyTable
unpivot
(
name
for Value in ([Col1], [Col2], [Col3], [Col4], [Col5])
) x;