创建一个合并的函数:
create function fmerg(@id VARCHAR(3))
returns varchar(8000)
as
begin
declare @str varchar(8000)
set @str=''
select @str=@str+temp from 表A where id=@id
return(@str)
End
go
 
--调用自定义函数得到结果
select distinct id,dbo.fmerg(id) from 表A

解决方案 »

  1.   

    有点错,改一下,调用自定义函数得到结果:
    select id,dbo.fmerg(id) from 表A group by id
      

  2.   

    --创建处理函数
    create function f_merg(@id int)
    returns varchar(8000)
    as
    begin
    declare @r varchar(8000)
    set @r=''
    select @r=@r+[temp] from 表 where id=@id
    return(@r)
    end
    go--调用实现要求
    select id,dbo.f_merg(id) from 表 group by id
      

  3.   

    --测试--测试数据
    create table 表(id int,[temp] varchar(10))
    insert 表 select 1,'a'
    union all select 1,'b'
    union all select 2,'c'
    go--创建处理函数
    create function f_merg(@id int)
    returns varchar(8000)
    as
    begin
    declare @r varchar(8000)
    set @r=''
    select @r=@r+temp from 表 where id=@id
    return(@r)
    end
    go--调用实现要求
    select id,dbo.f_merg(id) from 表 group by id
    go--删除测试
    drop table 表/*--测试结果
    id                       
    ----------- -------------
    1           ab
    2           c(所影响的行数为 2 行)--*/