2013-03-07 75 views
0

我需要在SQL 2005 這是我表總結以前的行和以前行的SQL Server

id date  valuein  valueout misstotal  
5 2/2/2013 0   500  -500  
2 25/2/2013 0   300  -300 
7 25/2/2013 900   0   900 
4 25/2/2013 2000   0   2000 

misstotal = (valuein - valueout)

這是沒有問題的

我想列請在total欄中填寫下表所示的總餘額。

id date  valuein  valueout misstotal  total 
5 2/2/2013 0   500  -500   -500 
2 25/2/2013 0   300  -300   -800 
7 25/2/2013 900   0   900   100 
4 25/2/2013 2000   0   2000   2100 

那麼這樣做的代碼是什麼?

回答

0

本博客文章爲您提供了多種選項以在SQL Server 2005中運行總計計算:

http://geekswithblogs.net/Rhames/archive/2008/10/28/calculating-running-totals-in-sql-server-2005---the-optimal.aspx

的一個好方法是插入你的數據到臨時表,然後更新該表像這樣填充運行總計列:

SET @RunningTotal = 0 

UPDATE @TmpTable 
SET @RunningTotal = total = @RunningTotal + misstotal 
FROM @TmpTable 

SELECT * FROM @TmpTable 
+0

雖然這可能會回答這個問題,[這將是更可取的](http://meta.stackexchange.com/q/8259)包括答案的基本部分這裏,並提供鏈接供參考。 – Taryn 2013-03-07 12:25:19