读书人

怎么得到一个查询结果里 ID集合的值

发布时间: 2013-01-11 11:57:35 作者: rapoo

如何得到一个查询结果里 ID集合的值?
比如
select ID from tb

查询一个结果是

1
2
3
4
5


如何能在同一个存储过程里 获取到格式为 1,2,3,4,5 的一个字符串集合?


[解决办法]

select id=stuff((select ','+id from tb t where id=tb.id for xml path('')), 1, 1, '') 
from tb

[解决办法]
select stuff((select ','+rtrim(ID) from tb for xml path('')),1,1,'')
[解决办法]
create function dbo.f_str(@id int)   
returns varchar(8000)
as
begin
declare @str varchar(8000)
set @str = ''
select @str = @str + ',' + id from tb where id=@id
return stuff(@str, 1, 1, '')
end
go
-- 调用函数 SELECT id = dbo.f_str(id) FROM tb

[解决办法]
for xml path用法
http://www.cnblogs.com/doubleliang/archive/2011/07/06/2098775.html

读书人网 >SQL Server

热点推荐