/*求某個數據的遞增和(多一列)*/
/*创建日期:2006/08/17
创建人:Hopewell_Go
引用保留此*/
create table IncreaseNum
(
RefNo varchar(30)
,Num decimal(18,2)
)
insert into IncreaseNum
select '001',6.00 union all
select '002',3.50 union all
select '003',4.00 union all
select '004',10.00 union all
select '005',36.00
--
算法描述
/*
也就是子查詢來進行此結構的查詢﹐也就是相當于
C
語言中的嵌套循環
類似于以下語句的結構
for(int i=0;i<Count;i++)
{
for(int j=0;j<=i;j++)
{
TotalNum[i] += Qty[j];
}
}
*/
select identity(int,1,1) TID,*
into #IncreaseNumTemp
from IncreaseNum
select *,
(
select sum(Num) from #IncreaseNumTemp B where (B.TID<A.TID or B.TID=A.TID)
) IncreamSumNum
from #IncreaseNumTemp A
/*
結果顯示
TID RefNo Num IncreamSumNum
1 001
6.00
6.00
2 002
3.50
9.50
3 003
4.00
13.50
4 004
10.00
23.50
5 005
36.00
59.50
*/