create function f_str(@num varchar(10))
returns varchar(8000)
as
begin
declare @r varchar(8000)
set @r=''
select @r=@r+','+rtrim(供應商)
from 表名 where 料號=@num
return(stuff(@r,1,1,''))
end
select 料號,dbo.f_str(料號) from 表名 group by 料號

解决方案 »

  1.   

    還有其它辦法嗎?我想到的也是上面兄弟的辦法,但我不想為了它還要在database上加function
      

  2.   

    建议你看看book online的创建CLR AGGREGATE FUNCTION 你的问题很容易解决。我又SQL SERVER 2005的创建和使用CLR AGGREGATE FUNCTION的例子,不过不在现在的机器上,如果需要明天我贴上来
      

  3.   

    那只好把字符串聚合的操作扔到前端程序里做,SQL Server不处理。Why不考虑使用函数或存储过程?对Database没什么影响吧。
      

  4.   

    to: vivian315(薇安) 
    我用的是sql server2000上面沒有這個to:libin_ftsafe(子陌红尘) 
     這個我認為感覺是小問題的東東,不想在後面寫function解決。
      

  5.   

    to:libin_ftsafe(子陌红尘) 
     這個我認為感覺是小問題的東東,不想在後面寫function解決,原因是不想再去多維護
    這樣一個function。
      

  6.   

    to kirao (bryan) ,不好意思
      

  7.   

    to  zheninchangjiang(我爱燕子)  前台有什麼好的辦法麼,我用pb.