sql中如何将一个字段的多个记录合在一行显示
1个回答
展开全部
有下表:
单位名称 收费类别
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 单位名称
单位名称 收费类别
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 单位名称
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询