有这样一个表,有pz,gg,xs三个字段,均为字符型,要求按pz,gg汇总,
pz gg xs
b90 20 101
b90 20 102
汇总后形成
b90 20 101,102
请问有没有不使用循环而直接汇总形成的语句。
pz gg xs
b90 20 101
b90 20 102
汇总后形成
b90 20 101,102
请问有没有不使用循环而直接汇总形成的语句。
CREATE function f_sum(@pg varchar(50),@zz varchar(50))
returns varchar(8000)
as
begin
declare @str varchar(8000)
set @str = ''
select @str = @str + ', ' + xs from test2 where pg = @pg and zz=@zz
set @str = right(@str , len(@str) - 1)
return(@str)
End
然后调用该函数SELECT DISTINCT pg, zz, dbo.f_sum(pg, zz) AS Expr1
FROM test2