如何汇总varchar类型的字段
如果存在如下数据表:
A B
pro1 qqqqq
pro1 wwwww
pro1 eeeee
pro2 rrrrr
pro2 ttttt
pro1 yyyyy
pro1 uuuuu
要实现如下输出:
A B
pro1 qqqqq,wwwww,eeeee,yyyyy,uuuuu
pro2 rrrrr,ttttt
要求:不使用临时表,一条查询语句实现
------解决方案--------------------好像要用游标实现了。
------解决方案--------------------用函数行不?
------解决方案----------------------創建函數
create function fn_cmb(@id varchar(100))
returns varchar(8000)
as
begin
declare @s varchar(8000)
select @s = isnull(@s, ' ') + ', ' + B
from 表
where A = @id
set @s = stuff(@s, 1, 1, ' ')
return @s
end
--調用函數
select A, fn_cmb(A) from 表
group by A