如果通过where 条件查询出两个以上的字符串纪录,想把它保存在一个自定义字符串里应该怎么写这个select语句

解决方案 »

  1.   

    用动态:
    declare @s nvarchar(1000)
    set @s='1,2'exec('select * from t where ID in('+@s+')')
      

  2.   

    可以用游标啊
    DELARE CURSOR
    OPEN
    FETCH
    CLOSE
      

  3.   

    select col from table结果集:
    1
    2
    3
    4
    5我想要的是用逗号隔开的一个字符串
    1,2,3,4,5最好是用SQL语句来实现我不想用游标来实现
    100分奉上。谢谢。。
    declare @output varchar(8000)
    select @output = coalesce(@output+',', '') + col from table
    print @output--如果col是数值型要转换一下:
    declare @output varchar(8000)
    select @output = coalesce(@output+',', '') + cast(col as varchar) from table
    print @output