日期:2014-05-18  浏览次数:20510 次

生成視圖,統計字段的問題,開新貼加重分提問
表1
id       Original
1               10
2               20
表2
id               表1id         Actua
1                     1                 2
2                     1                 1  
3                     1                 3  
4                     2                 5
5                     2                 10  
視圖
Original$                             Actua$                             Balance$
10
                                              2                                       8
                                              1                                       7
                                              3                                       4
20
                                              5                                       15
                                              10                                       5

          數據庫里面只有Original跟Actua這兩個字段,Balance是計算出來的。也就是Balance=Original-Actua這樣循環的減下去,得Balance這個值,再用Balance再減Actua又得Balance我想用視圖來表示上面哪樣的表怎么表示,
謝謝

------解决方案--------------------
Create View V_TEST
As
Select TOP 100 Percent Original, Actua, Balance From
(
Select id, 0 As 表2id, Original, 0 As Actua, 0 As Balance From 表1
Union All
Select 表1id, id, 0, Actua, A.Original - (Select SUM(Actua) From 表2 Where id <= B.id) As Balance
From 表1 A Inner Join 表2 B On A.id = B.表1id
) A
Order By id, 表2id
GO
------解决方案--------------------
--上面有些bug,用下面的

--建立測試環境
Create Table 表1
(id Int,
Original Int)
Insert 表1 S