比如:select top 4 id from [tb]现返回
1
2
4
6如何让返回的结果成为
1,2,4,6呢?只是在查询分析器里~

解决方案 »

  1.   

    declare @str varchar(100)
    declare @str varchar(100)
    set @str = ''
    select top 4 @str = @str + cast(id as varchar) from [tb]
    select @str
      

  2.   

    declare @str varchar(100)
    set @str = ''
    select top 4 @str = @str + cast(id as varchar) from [tb]
    select @str
      

  3.   

    例如declare @str varchar(100)
    set @str = ''
    select top 4 @str = @str +','+ cast(state as varchar) from authors
    select stuff(@str,1,1,'')----
    CA,CA,CA,CA
      

  4.   

    declare @re varchar(200)
    set @re=''
    select top 2 @re=@re+','+rtrim(id) from
    (
    select id=1
    union all select id=2
    union all select id=3
    union all select id=4
    )tmpselect stuff(@re, 1, 1, '')--result
    1,2(1 row(s) affected)
      

  5.   

    declare @re varchar(1000)
    set @re=''
    select top 4 @re=@re+','+rtrim(id) from [tb]
    select stuff(@re, 1, 1, '')