0

SQL 2005 の前の行を合計する必要があります。これは私のテーブルです

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

では、この合計を行うためのコードは何ですか?

4

1 に答える 1

0

このブログ投稿では、SQLServer2005で現在の合計を計算するためのいくつかのオプションを提供しています。

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
于 2013-03-07T12:22:40.357 に答える