declare @sql varchar(1000)
set @sql = ''
select @sql = ',' + name from YourTable
set @sql = stuff(@sql, 1, 1, '')
print @sql

解决方案 »

  1.   

    declare @name varchar(8000)
    set @name=''
    select @name=@name+','
    from 表
    print @name
      

  2.   

    --Sorry,上面错了
    declare @sql varchar(1000)
    set @sql = ''
    select @sql = @sql + ',' + name from YourTable
    set @sql = stuff(@sql, 1, 1, '')
    print @sql
      

  3.   

    Declare @S Varchar(2000)
    Select @S = @S + ',' + name From 表
    Select @S = Stuff(@S, 1, 1, '')
    Select @S As name
      

  4.   

    2005
    select STUFF(REPLACE(REPLACE(
                (
                    SELECT name M FROM 表 N
                    FOR XML AUTO
                ), '<N M="', ','), '"/>', ''), 1, 1, '')
      

  5.   

    Limpire(昨夜小楼) 
    declare @sql varchar(1000)
    set @sql = ''
    select @sql = ',' + name from YourTable
    set @sql = stuff(@sql, 1, 1, '')
    print @sql
    的结果是最后一条的纪录——好像得用while循环吧--------------------------------------
    dawugui(潇洒老乌龟)
    declare @name varchar(8000)
    set @name=''
    select @name=@name+','
    from 表
    print @name
    的结果是一连串的,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------------------
    Limpire(昨夜小楼) 
    declare @sql varchar(1000)
    set @sql = ''
    select @sql = @sql + ',' + name from YourTable
    set @sql = stuff(@sql, 1, 1, '')
    print @sql
    是不出结果的。
    -----------------------------------------
    paoluo(一天到晚游泳的鱼)
    Declare @S Varchar(2000)
    Select @S = @S + ',' + name From 表
    Select @S = Stuff(@S, 1, 1, '')
    Select @S As name
    的结果是null
      

  6.   

    有筆誤,不過這個應該可以啊declare @sql varchar(1000)
    set @sql = ''
    select @sql = @sql + ',' + name from YourTable
    set @sql = stuff(@sql, 1, 1, '')
    print @sql
    我的要改下Declare @S Varchar(2000)
    Select @S = ''  --加上這個
    Select @S = @S + ',' + name From 表
    Select @S = Stuff(@S, 1, 1, '')
    Select @S As name
      

  7.   

    Limpire(昨夜小楼)
    declare @sql varchar(1000)
    set @sql = ''
    select @sql = @sql + ',' + name from YourTable
    set @sql = stuff(@sql, 1, 1, '')
    print @sql
    是不出结果的。------------------------------------------------------
    /*
    我的代码有可能错,一旦发现我会第一时间通知楼主,并贴出正确代码。你说我第二次贴出的代码不出结果,下面的是什么?
    */
    declare @test table (name varchar(10))
    insert @test
    select '张三' union all
    select '李四' union all
    select '王五' union all
    select '卢芳' union all
    select '操利' union all
    select '李焱' union all
    select '季霞' union all
    select '周中继' union all
    select '张延' union all
    select '孙起'declare @sql varchar(1000)
    set @sql = ''
    select @sql = @sql + ',' + name from @test
    set @sql = stuff(@sql, 1, 1, '')
    print @sql
    ---------------------(所影响的行数为 10 行)张三,李四,王五,卢芳,操利,李焱,季霞,周中继,张延,孙起
      

  8.   

    liHuaiQi() ( ) 信誉:100  2007-08-08 17:36:35  得分: 0  
     
     
       老兄:不行的,还是null。
      
    ---------------
    不可能啊,我做了修改的 Declare @S Varchar(2000)
    Select @S = ''  --加上這個
    Select @S = @S + ',' + name From 表
    Select @S = Stuff(@S, 1, 1, '')
    Select @S As name
      

  9.   

    --同樣,借用Limpire(昨夜小楼) 的數據declare @test table (name Nvarchar(10))
    insert @test
    select N'张三' union all
    select N'李四' union all
    select N'王五' union all
    select N'卢芳' union all
    select N'操利' union all
    select N'李焱' union all
    select N'季霞' union all
    select N'周中继' union all
    select N'张延' union all
    select N'孙起'Declare @S NVarchar(2000)
    Select @S = ''  --加上這個
    Select @S = @S + ',' + name From @test
    Select @S = Stuff(@S, 1, 1, '')
    Select @S As name
    --Result
    /*
    name
    张三,李四,王五,卢芳,操利,李焱,季霞,周中继,张延,孙起
    */
      

  10.   


    两位用临时表是可以得出正确结果的。
    但是我的数据库中确实存在student表,select name from student的结果是:张三  
    李四  
    王五
    卢芳  
    操利  
    李焱
    季霞  
    周中继
    张延  
    孙起  可是用
    declare @sql varchar(1000)
    set @sql = ''
    select @sql = @sql + ',' + name from student
    set @sql = stuff(@sql, 1, 1, '')
    print @sql

    Declare @S NVarchar(2000)
    Select @S = ''  --加上這個
    Select @S = @S + ',' + name From student
    Select @S = Stuff(@S, 1, 1, '')
    Select @S As name
    在查询分析器中就是看不到结果呀!不知道怎么回事,还请两位帮我再看一下,谢谢了!
      

  11.   

    你的name里头有NULL值,再改一下:
    select @sql = @sql + ',' + isnull(name, '') from @test
      

  12.   

    有null的数据?!那用isnull处理下Declare @S NVarchar(2000)
    Select @S = ''  --加上這個
    Select @S = @S + ',' + isnull(name, '') From student
    Select @S = Stuff(@S, 1, 1, '')
    Select @S As name
      

  13.   

    谢谢二位!我的name里头确实有NULL值。
    Limpire(昨夜小楼) 和Limpire(昨夜小楼) 把分平分了吧。
      

  14.   

    不好意思,应该是:
    paoluo(一天到晚游泳的鱼)和Limpire(昨夜小楼) 把分平分了吧。