SQLServer 中如何将一个字段的多个记录值合在一行显示
有下表:
单位名称
收费类别
1
1
1
2
3
3
a
b
d
a
b
c
要求查询结果显示如下
单位名称
收费类别
1
2
3
a,b,d
a
b,c
函数实现
create
function
getstr(@单位名称 int)
varchar(2000)
returns
as
begin
declare @str
set @str=''
select @str=@str+','+rtrim(收费类别)
select @str=right(@str,len(@str)-1) where @str<>''
return @str
end
go
varchar(2000)
from 表 where 单位名称=@单位名称
--调用:
select 单位名称,dbo.getstr(单位名称) 收费类别
from 表 group
by 单位
名称