表一
列A
20
21
22
23
24如何得到(20,21,22,23,24)这样的效果?
有没有不用游标的方法?

解决方案 »

  1.   

    create table tb(a varchar(10))
    insert into tb values('20')
    insert into tb values('21')
    insert into tb values('22')
    insert into tb values('23')
    insert into tb values('24')
    godeclare @a varchar(100)
    set @a=''
    select @a=@a+ a + ',' from tb
    print @adrop table tb
    /*
    20,21,22,23,24,
    */
      

  2.   

    create table tb(a varchar(10))
    insert into tb values('20')
    insert into tb values('21')
    insert into tb values('22')
    insert into tb values('23')
    insert into tb values('24')
    godeclare @a varchar(100)
    set @a=''
    select @a=@a+ a + ',' from tb
    set @a = left(@a,len(@a)-1)
    print @a
    drop table tb
    /*
    20,21,22,23,24
    */
      

  3.   

    declare @v varchar(1000)set @v = '' ;select top 5 @v = @v + cast(id as varchar(10)) + ',' from  tabletestprint @v
      

  4.   

    declare @a varchar(100)
    set @a=''
    select @a=@a+ a + ',' from tb
    print @a
      

  5.   

    前面的方法真是太麻烦了
    楼上的简单declare @a varchar(100)
    set @a=''
    select @a=@a+ a + ',' from tb
    select @a='('+@a+')' 
    print @a