有这么一个表table1,里面有a1,a2两个字段
里面的数据如下:
a1               a2
1                托
1                拉
1                机
2                飞
2                机我想取出这样的数据
1            拖拉机
2            飞机请问各位大哥该如何实现

解决方案 »

  1.   

    create table tb(a1 int,a2 varchar(30))insert into tb select 1,'托'
    union all select 1,'拉'
    union all select 1,'机'
    union all select 2,'飞'
    union all select 2,'机'gocreate function dbo.fc_str(@a1 varchar(100))
    returns varchar(100)
    as
    begin
     declare @sql varchar(1000)
     set @sql=''
     select @sql=@sql+''+cast(a2 as varchar(100)) from tb where a1=@a1
     return @sql
    end
    goselect a1,dbo.fc_str(a1) as a2 from tb group by a1drop 
    function dbo.fc_str
    drop table tb
    --论坛里有很多这样的例子,你可以搜一下
      

  2.   

    create function joint(@id int)
    returns varchar(100)
    as 
     begin
      declare @back varchar(100)
      set @back=''
      select @back=@back+a2 from table1 
      return(@back)
     end
     select a1,dbo.joint(a1) from table1 group by a1