当前位置:有风信息港IT学院编程技术.net → SQL将中一个字段的多记录合在一行

SQL将中一个字段的多记录合在一行

减小字体 增大字体 作者:有风IT学院  来源:有风信息港  发布时间:2008-1-13 9:03:42
有下表:

单位名称 收费类别
1 a
1 b
1 d
2 a
3 b
3 c
要求查询结果显示如下

单位名称 收费类别
1 a,b,d
2 a
3 b,c

函数实现
create function getstr(@单位名称 int)
returns varchar(2000)
as
begin
declare @str varchar(2000)
set @str=''
select @str=@str+','+rtrim(收费类别) from 表 where 单位名称=@单位名称
select @str=right(@str,len(@str)-1) where @str<>''
return @str
end
go

--调用:
select 单位名称,dbo.getstr(单位名称) 收费类别 from 表 group by 单位名称