求sql 语句,把一个字段的数据串起来
求sql   语句,把查询一个字段的数据串起来
------解决方案--------------------结果集: 
 1 
 2 
 3 
 4 
 5   
 我想要的是用逗号隔开的一个字符串 
 1,2,3,4,5     
 declare @output varchar(8000) 
 select @output = coalesce(@output+ ', ',  ' ') + col from table 
 print @output 
------解决方案--------------------declare @str varchar(8000) 
 select @str=isnull(@str, ' ')+字段名 from 表 
 print @str
------解决方案----------------------?这样? 
 select c1+c2+c3+...+cn from 表   
 数值型字段要转换:cast(cn as varchar)
------解决方案----------------------例子 
 declare @str varchar(8000) 
 set @str= ' '   
 select @str=@str+rtrim(列名) from 表名 
 print @str
------解决方案--------------------create table tb(id varchar(10)) 
 insert into tb values( '1 ') 
 insert into tb values( '2 ') 
 insert into tb values( '3 ') 
 insert into tb values( '4 ') 
 insert into tb values( '5 ') 
 go 
 declare @output varchar(8000) 
 select @output = coalesce(@output+ ', ',  ' ') + id from tb 
 print @output 
 drop table tb   
 /* 
 1,2,3,4,5 
 */
------解决方案--------------------declare @str varchar(8000)   
 set @str= ' ' 
 select top 10 @str=@str+ '|| '+[name] 
 from syscolumns   
 set @str=stuff(@str,1,2, ' ') 
 print @str   
 /*      结果 
 base_schema_ver||cache||category||crdate||deltrig||ftcatid||id||indexdel||info||instrig 
 */
------解决方案--------------------use xxx 
 go 
 declare @Var_TBL TABLE(test varchar(20)) 
 declare @result varchar(2000) 
 begin 
   insert into @Var_TBL values( '1 ') 
   insert into @Var_TBL values( '2 ') 
   insert into @Var_TBL values( '3 ') 
   insert into @Var_TBL values( '4 ') 
   insert into @Var_TBL values( '5 ') 
   select @result=isnull(@result, ' ')+isnull(test, ' ')+ ', ' from @Var_TBL 
   select @result=substring(@result,1,len(@result)-1) 
   select @result result 
 end
------解决方案--------------------declare @str varchar(8000) 
 set @str= ' ' 
 select @str=@str+ ', '+字段名 from 表 
 set @str=right(@str,len(@str)-1) 
 print @str