這裡提供了小弟寫程式時的一些心得, 歡迎大家批評指教
持續更新中...
這裡提供了小弟寫程式時的一些心得, 歡迎大家批評指教
持續更新中...
當資料庫裡有一條條的交易紀錄, 該如何算出每一筆交易過後的餘額呢?這裡教大家一個小技巧...
假設交易紀錄(Purchase)有四筆資料如下
Select * From Purchase
ID Amount Date
--- ------- -----------
1 12.35 2009-03-12
2 39.12 2009-03-12
3 -9.67 2009-03-13
4 99.70 2009-03-15
先做一個 Temporary Table
Select *, CONVERT(Money, 0) Balance Into #temp From Purchase
#temp應該長的像這樣子, 多一個 Balance column 來紀錄餘額
Select * From #temp
ID Amount Date Balance
--- ------- ----------- ---------
1 12.35 2009-03-12 0
2 39.12 2009-03-12 0
3 -9.67 2009-03-13 0
4 99.70 2009-03-15 0
好!那現在來算每一筆交易後的餘額吧, 設定一開始是0元
declare @bal money
set @bal = 0
update #temp
set @bal = Balance = @bal + Amount
來看看結果
Select * from #temp
ID Amount Date Balance
--- ------- ----------- ---------
1 12.35 2009-03-12 12.35
2 39.12 2009-03-12 51.47
3 -9.67 2009-03-13 41.80
4 99.70 2009-03-15 141.50
現在每一筆交易紀錄都有餘額了. 這個小技巧應該還可以應用在其他地方, 等著你去發掘囉!