从一个表里边查询出这样的数据
id
1
3
4
6
怎样用sql语句从新组合数据并返回如下数据“1,3,4,6,”

解决方案 »

  1.   

    declare @ss varchar(8000)
    select @ss=isnull(@ss,'')+cast(列名 as varchar)+',' from 表
    print @ss
      

  2.   

    2楼的isnull在这里用的不错.学习declare @s varchar(8000)
    select @s=isnull(@s,'') + rtrim(id) +',' from 表
      

  3.   

    declare @ss varchar(8000)
    select @ss=isnull(@ss,'') + rtrim(SigleSelectId) +',' from (
    select top 5 SigleSelectId from SigleSelectSubject
    order by newid())
    print @ss
    我这条语句哪里错了???select top 5 SigleSelectId from SigleSelectSubject
    order by newid()是对的,楼上的做的也对
      

  4.   

    加个别名A 在后面(select top 5 SigleSelectId from SigleSelectSubjectorder by newid())
      

  5.   

    再问个问题,如果得到“1,3,4,6,”,能用sql语句还原回去吗?
    id
    1
    3
    4
    6
    得到这样的表???
      

  6.   

    --如:
    declare @sql varchar(8000),
            @s   varchar(8000)  
    select @s='1,3,4,6,' 
    Select @s='Select '+stuff(@s,len(@s),1,''),@sql=replace(@s,',',' union all Select ')
    exec(@sql)