create function getresult(@a varchar(10)) returns varchar(100) as begin declare @result varchar(100) set @result='' select @result=@result+b from yourtable where a=@a return @result end语句: select distinct a,dbo.getresult(a) from yourtable
create function getstr(@a int) returns varchar(2000) as begin declare @str varchar(2000) set @str='' select @str=@str+','+rtrim(b) from 你的表 where a=@a set @str=right(@str,len(@str)-1) return @str end go语句: select a,dbo.getstr(a) from 你的表 group by a
不过贴中的方法在数据量很大的情况下会不稳定,是贴主飘香后来说的,供你
参考。
returns varchar(100)
as
begin
declare @result varchar(100)
set @result=''
select @result=@result+b from yourtable where a=@a
return @result
end语句:
select distinct a,dbo.getresult(a) from yourtable
returns varchar(2000)
as
begin
declare @str varchar(2000)
set @str=''
select @str=@str+','+rtrim(b) from 你的表 where a=@a
set @str=right(@str,len(@str)-1)
return @str
end
go语句:
select a,dbo.getstr(a) from 你的表 group by a
如果是SQL7,不支持用户自定义函数,那么只有先分组,然后用游标一个个得到联合字符字段。