create function getstr(@id Nchar(4000))
returns Nvarchar(4000)
as 
begin
declare @str Nvarchar(2000)
set @str=N''
select @str=@str+rtrim(bill)+N',' from table
where 编码=@id
if @str<>N'' 
    set @str=left(@str,len(@str)-1)
return @str
endGO---------------------
select 编码,dbo. getstr( getstr) as 名称 from table group by 编码

解决方案 »

  1.   

    create function getresult(@编码 varchar(10))
    returns varchar(100)
    as 
    begin
    declare @result varchar(100)
    set @result=''
    select @result=@result+名称 from yourtable where 编码=@编码
    return @result
    end语句:
    select distinct 标识号,dbo.getresult(编码) from yourtable
      

  2.   

    create function getresult(@编码 varchar(10))
    returns varchar(100)
    as 
    begin
    declare @result varchar(100)
    set @result=''
    select @result=@result+名称+',' from yourtable where 编码=@编码
    set @result=left(@str,len(@str)-1)return @result
    endselect distinct 编码,dbo.getresult(编码) from s