Sql中的行到列

Sql中的行到列,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,可能重复: 表名sa Number 10 20 30 40 预期结果 Number Number Number Number 10 20 30 40 尝试删除此查询 select number from sa declare @s varchar(8000) select @s = COALESCE(@s + ',', '') + cast(number as varchar(10)) + ' as number' from sa exec('s

可能重复:

表名
sa

Number
10
20
30
40
预期结果

Number  Number  Number  Number
10       20     30      40
尝试删除此查询

select number from sa
declare @s varchar(8000)
select  @s = COALESCE(@s + ',', '') + cast(number as varchar(10)) + ' as number'
from    sa
exec('select '+@s)

实际上,从技术上讲,这是从行到列的。几乎可以肯定的是,你的模式是由一只用安非他明注入眼球的猴子生成的:-)在这个网站上已经被问了无数次了-请在发布前搜索!请参见,如果您发布代码、XML或数据示例,请在文本编辑器中突出显示这些行,并单击编辑器工具栏上的“代码示例”按钮({}),以精确地格式化和语法突出显示它!如果您发布代码、XML或数据示例,请在文本编辑器中突出显示这些行,并单击编辑器工具栏上的“代码示例”按钮({}),以很好地格式化和语法突出显示它!
Select 
case when 10 then 10 
     when 20 then 20
     when 30 then 30
     when 40 then 40
     else
     ''
end
from tablenAme