有表內容﹕
編號 內容
A abc
A aaa
A dddd
B 1223
B fkdjfd
....
實現結果﹕
A abc,aaa,dddd
B 1223,fkdjfd
要求用一條SQL實現﹐如﹕select sum(內容) from table group by 編號
--该问题,写一个合并函数,后,分组合并既可!
--测试数据
create Table 表(編號 varchar(20),內容 varchar(20))
insert 表 select 'A','abc'
union all select 'A','aaa'
union all select 'A','dddd'
union all select 'B','1223'
union all select 'B','fkdjfd'
--处理分组合并函数学
Create Function JoinStr(@SNO as varchar(20))
returns varchar(200)
begin
declare @s as varchar(8000)
set @s=''
select @s=@s+','+ltrim(rtrim(內容)) from
(
select 內容 from 表 where 編號=@SNO
)
A
set @s=stuff(@s,1,1,'')
return @s
end
--查询语句
select 編號,dbo.JoinStr(編號) as 内容 from 表 group by 編號
本文来自优快云博客:http://blog.youkuaiyun.com/zlp321002/archive/2005/01/19/260184.aspx
下例通过在第一个字符串 (abcdef) 中删除从第二个位置(字符 b)开始的三个字符,然后在删除的起始位置插入第二个字符串,创建并返回一个字符串。
SELECT STUFF('abcdef', 2, 3, 'ijklmn')
本文介绍了一种使用SQL实现的数据分组合并方法,通过自定义函数JoinStr来将同一组内的多个字段值合并成一个字符串。这种方法适用于需要将多个记录按组汇总为一行的情况,并提供了一个具体的例子和实现步骤。
2197

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



