如何得到一个查询结果里 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
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