我有雷塞的邊緣數據庫中使用SQL Server 2005中我已經寫SQL會產生含直接付款分期付款的細節的臨時表的工作。下面是一個包含問題的關鍵變量,我要問,有一些虛構的數據的小桌子:在SQL Server增量計數2005
Donor_ID Instalment_ID Instalment_Date Amount
1234 1111 01/01/2011 £5.00
1234 1112 01/02/2011 £0.00
1234 1113 01/03/2011 £5.00
1234 1114 01/04/2011 £5.00
1234 1115 01/05/2011 £0.00
1234 1116 01/06/2011 £0.00
2345 2111 01/01/2011 £0.00
2345 2112 01/02/2011 £5.00
2345 2113 01/03/2011 £5.00
2345 2114 01/04/2011 £0.00
2345 2115 01/05/2011 £0.00
2345 2116 01/06/2011 £0.00
正如你將看到,有的在金額列中的值是£0.00。例如,當捐贈者的賬戶資金不足時就會發生這種情況。
我希望做的是寫一個SQL查詢,將創建一個包含連續的0.00£支付的增量計數後非0.00£支付或Donor_ID更改後重置的字段。我已經在下面複製了上述數據,並希望看到該字段。
Donor_ID Instalment_ID Instalment_Date Amount New_Field
1234 1111 01/01/2011 £5.00
1234 1112 01/02/2011 £0.00 1
1234 1113 01/03/2011 £5.00
1234 1114 01/04/2011 £5.00
1234 1115 01/05/2011 £0.00 1
1234 1116 01/06/2011 £0.00 2
2345 2111 01/01/2011 £0.00 1
2345 2112 01/02/2011 £5.00
2345 2113 01/03/2011 £5.00
2345 2114 01/04/2011 £0.00 1
2345 2115 01/05/2011 £0.00 2
2345 2116 01/06/2011 £0.00 3
爲了澄清我在尋找,我想我在尋找什麼做的是類似於連勝場的橄欖球隊的結果名單上。例如:
Opponent Score Winning_Streak
Arsenal 1-0 1
Liverpool 0-0
Swansea 3-1 1
Chelsea 2-1 2
Fulham 4-0 3
Stoke 0-0
Man Utd 1-3
Reading 2-1 1
我已經考慮了各種選項,但都沒有取得進展。除非我錯過了顯而易見的東西,否則我認爲可能需要比我當前的SQL編程級別更高級的解決方案。
付款後不會將連線重設爲0。 http://sqlfiddle.com/#!6/a571f/28 – flup 2013-03-20 20:37:46
當交易= 0.00時,條紋只會增加,這是@ user2182597描述的。如果事務量大於0,我的查詢只返回0。也許它應該返回NULL或空字符串。 – 2013-03-21 15:18:11
sqlfiddle.com/#!6/a571f/28顯示Donor_ID有3筆交易,其中金額= 0.00和InsufficientCount(更適合'連勝')增加 – 2013-03-21 15:29:27