作者flakchen (flak)
看板Database
标题Re: [SQL ] 多笔资料合并为一笔
时间Mon Nov 27 00:14:41 2006
MS-SQL的话,得用暂存资料表或资料表变数把回圈中的结果暂时存起来了
这里用资料表变数
Declare @New Table(Part varchar(3),Con char(1),Source varchar(6000))
Declare @STR varchar(6000),@Part varchar(3),@MaxPart varchar(3)
Select @Part=Min(Part),@MaxPart=Max(Part) From YourTable
While @Part<=@MaxPart
Begin
Select @STR=NULL
Select @STR=IsNull(@STR+' ','')+Source
From YourTable
Where Part=@Part
Insert into @New(Part,Con,Source)
Select Top 1 @Part,Con,@STR
From YourTable
Where Part=@Part
Select @Part=Min(Part) From YourTable Where Part>@Part
End
Select * From @New
※ 引述《mpc13 (mpc13)》之铭言:
: 小弟有一个资料表如下
: Part Con Source
: -------------------------
: A01 Y TBK
: A01 Y VST
: A01 Y DBW
: A01 Y JKL
: B01 Y TMT
: B01 Y RPS
: 每一个Part的Source会增减, 因此资料笔数会变化
: 可否以SQL语法得到下面的结果
: Part Con Source
: -------------------------
: A01 Y TBK VST DBW JKL
: B01 Y TMT RPS
: 感谢先进指导
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.132.166.116