用select语句查询到同一列的几个结果,比如
1234
2345
5667
怎么把这些结果连接起来?得到一个长串 1234;2345;5667
(就是把每个结果连接起来,中间分号隔开)

解决方案 »

  1.   

    declare @sql varchar(8000)
    set @sql=''
    select @sql=@sql+字段名 from table1
    select @sql
      

  2.   

    declare @sql varchar(8000)
    set @sql=''
    select @sql=@sql+';'+字段名 from table1
    set @sql=left(@sql,len(@sql)-1)
      

  3.   

    我那个列是用整行的,一加他提示将 
    varchar 值 ';' 转换为数据类型为 int 的列时发生语法错误。
      

  4.   

    declare @sql varchar(8000)
    set @sql=''
    select @sql=@sql+';'+convert(varchar(20),字段名) from table1
    set @sql=left(@sql,len(@sql)-1)
      

  5.   

    declare @sql varchar(8000)
    set @sql=''
    select @sql=@sql+isnull(';'+ltrim(字段名),'') from table1
    select @sql=stuff(@sql,1,1,'')
      

  6.   

    declare   @a   varchar(100)     
    select   @a   =   @a   +   name   + ', '   from   table   t   
      where   t.id=12 
    select       @a 
    print   @a 
    那儿错啦?