我们都知道sql里group by的聚合函数,都是针对sum,average等等,要求字段都是数值。如果是字符串呢?比如
编号 值
a aa
b bb
a cc
d dd
a ee
我们要得到这样的结果
编号 值
a aa,cc,ee
b bb
d dd
sql里没有现成的函数可以实现,那么我们可以自己写一个自定义函数:
create FUNCTION ConnectString
(
@编号 nvarchar(50)
)
RETURNS nvarchar(1024)
AS
BEGIN
declare @Str nvarchar(1024)
set @Str = ''
select @Str = @Str + [值]+',' from car
where [编号] = @编号
return @Str
END
GO
然后使用该函数进行查询:
select dbo.ConnectString(编号),编号 from table group by 编号。
转载于:https://blog.51cto.com/sunzhilu/925166