有表tb, 如下:
id value
----- ------
1 aa
1 bb
2 aaa
2 bbb
2 ccc
需要得到结果:
id values
------ -----------
1 aa,bb
2 aaa,bbb,ccc
即, group by id, 求 value 的和(字符串相加)
这个问题的一般处理方法是, 写一个聚合函数:
create function dbo.f_str(@id int)
returns varchar(8000)
as
begin
declare @r varchar(8000)
set @r=''
select @r=@r+','+value from tb where id=@id
return stuff(@r,1,1,'')
end
go
-- 调用函数
select id, values=dbo.f_str(id) from tb group by id
本文介绍了一种在SQL中实现字符串聚合的方法,通过创建自定义函数来实现对特定字段的值进行逗号分隔的字符串连接。这种方法适用于需要将同一组内的多个字符串值汇总为单一字符串的情况。
113

被折叠的 条评论
为什么被折叠?



