首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎么让返回的表里的某一列成为一行来返回

2012-01-24 
如何让返回的表里的某一列成为一行来返回~比如:selecttop4idfrom[tb]现返回1246如何让返回的结果成为1,2,4

如何让返回的表里的某一列成为一行来返回~
比如:

select   top   4   id   from   [tb]

现返回
1
2
4
6

如何让返回的结果成为
1,2,4,6呢?只是在查询分析器里~

[解决办法]
declare @str varchar(100)


declare @str varchar(100)
set @str = ' '
select top 4 @str = @str + cast(id as varchar) from [tb]
select @str

[解决办法]
declare @str varchar(100)
set @str = ' '
select top 4 @str = @str + cast(id as varchar) from [tb]
select @str
[解决办法]
例如

declare @str varchar(100)
set @str = ' '
select top 4 @str = @str + ', '+ cast(state as varchar) from authors
select stuff(@str,1,1, ' ')

----
CA,CA,CA,CA

[解决办法]
declare @re varchar(200)
set @re= ' '
select top 2 @re=@re+ ', '+rtrim(id) from
(
select id=1
union all select id=2
union all select id=3
union all select id=4
)tmp

select stuff(@re, 1, 1, ' ')

--result
1,2

(1 row(s) affected)
[解决办法]
declare @re varchar(1000)
set @re= ' '
select top 4 @re=@re+ ', '+rtrim(id) from [tb]
select stuff(@re, 1, 1, ' ')

热点排行