当前位置: 代码迷 >> Sql Server >> varchar类型字段的sum功能实现,该怎么处理
  详细解决方案

varchar类型字段的sum功能实现,该怎么处理

热度:98   发布时间:2016-04-27 16:59:24.0
varchar类型字段的sum功能实现
现有表记录如下;
fcoding         Fmemo
01                   zhang
01                   wang
02                   li
02                   lili
02                   feifei
03.....

想要的结果是
fcoding       Fmemo
01                 zhang;wang;
02                 li;lili;feifei;


------解决方案--------------------
create function f_str(@fcoding varchar(10))
returns varchar(100)
as
begin
declare @str varchar(100)
set @str= ' '
select @[email protected]+[text]+ '; ' from 表 where [email protected]
return @str
end

GO

select fcoding,dbo.f_str(fcoding ) as Fmemo
from A
group by fcoding
------解决方案--------------------
create table T(fcoding varchar(10), Fmemo varchar(10))
insert T select '01 ', 'zhang '
union all select '01 ', 'wang '
union all select '02 ', 'li '
union all select '02 ', 'lili '
union all select '02 ', 'feifei '

create function fun(@fcoding varchar(10))
returns varchar(200)
as
begin
declare @re varchar(200)
set @re= ' '
select @[email protected]+ '; '+Fmemo from T where [email protected]

return stuff(@re, 1, 1, ' ')
end

select fcoding, Fmemo=dbo.fun(fcoding) from T group by fcoding

--result
fcoding Fmemo
---------- --------------------------------------------------------------------------------------------
01 zhang;wang
02 li;lili;feifei

(2 row(s) affected)
  相关解决方案