我的數據庫關於現金餘額,交易和隔夜頭寸使我的用戶。日期也有差距。T-SQL CTE適用於每個日期的百分比公式和總計值
使用CTE我選擇了兩張包含現金和交易餘額總和[cashtrade_sum]和職位[pos_sum]的表格。下面是一個示例:
cashtrade_sum
-------------
2012-01-30 10000.00
2012-03-19 9868.99
2012-03-20 9839.02
2012-03-21 10476.10
2012-03-22 0.00
2012-03-23 10102.81
2012-03-26 10314.76
2012-03-27 11037.40
2012-03-28 9887.76
2012-03-29 9234.28
2012-03-30 8718.67
2012-04-02 8396.65
2012-04-03 0.00
2012-04-12 0.00
2012-05-18 1796.78
pos_sum
-------
2012-03-22 17628.00
2012-03-23 0.00
2012-03-28 373.24
2012-03-29 0.00
2012-04-03 20835.00
2012-04-04 20736.00
2012-04-05 20268.00
2012-04-06 20268.00
2012-04-07 20268.00
2012-04-08 20268.00
2012-04-09 20412.00
2012-04-10 19998.00
2012-04-11 18999.00
2012-04-12 11465.00
2012-04-13 10975.00
2012-04-14 10975.00
2012-04-15 10975.00
2012-04-16 9750.00
我有依賴於前面的可用日期[cashtrade_sum]值佣金公式應用到每個[pos_sum]值。結果應添加到當前[cashtrade_sum]日期。所以當前日期[cashtrade_sum]取決於之前的彙總或減法。
爲了清楚起見,簡單地說明如何從當前[pos_sum]大於昨天[cashtrade_sum]或最大上一個可用日期的[cashtrade_sum]中減去每個[pos_sum]值的5%。假設[cashtrade_sum]的價值已在上一步中修改。
請幫助它在沒有INSERT的情況下在CTE上進行操作,並分別獲得5%的佣金值。像這樣:
results
-------
commission cash
2012-01-30 10000.00
2012-03-19 9868.99
2012-03-20 9839.02
2012-03-21 10476.10
2012-03-22 881.4 9594.70
2012-03-23 0.00 9594.70
2012-03-28 0.00 9594.70
2012-03-29 0.00 9594.70
2012-04-03 1041.75 8552.95
2012-04-04 1036.80 7516.12
2012-04-05 1013.40 6502.72
...
最好填寫日期差距,但這只是一個例子。真正的公式要複雜得多。
在SQL Server 2008 R2上運行。
謝謝!
你能展示實際期望的結果是什麼樣子嗎?這樣可以更輕鬆,更有趣地攻擊問題,而不是反向設計一個單詞問題,並猜測你期望輸出什麼...... –