我有一個表,它的記錄:SQL:累計列和點心在該行
Profile | Level | CHgt | BHgt | SHgt | Z ABCD1 | 1 | 15 | 11 | 50 | 0 ABCD1 | 2 | 15 | 11 | 70 | 0 ABCD1 | 3 | 15 | 11 | 70 | 0 ABCD2 | 1 | 15 | 11 | 60 | 0 ABCD2 | 2 | 15 | 11 | 80 | 0 ABCD2 | 3 | 15 | 11 | 80 | 0 ABCD3 | 1 | 15 | 11 | 40 | 0 ABCD3 | 2 | 15 | 11 | 60 | 0 ABCD3 | 3 | 15 | 11 | 60 | 0 ABCD1 | 1 | 15 | 11 | 50 | 0 ABCD1 | 2 | 15 | 11 | 70 | 0 ABCD1 | 3 | 15 | 11 | 70 | 0
我要計算的Z,但我需要再創建兩個變量(BHgt2,SHgt2:可以創建在計算的後端)
Profile | Level | CHgt | BHgt | SHgt | BHgt2 | SHgt2 | Z ABCD1 | 1 | 15 | 11 | 50 | 11 | 0 | 26 ABCD1 | 2 | 15 | 11 | 70 | 22 | 120 | 157 ABCD1 | 3 | 15 | 11 | 70 | 33 | 190 | 238 ABCD2 | 1 | 15 | 11 | 60 | 11 | 0 | 26 ABCD2 | 2 | 15 | 11 | 80 | 22 | 140 | 177 ABCD2 | 3 | 15 | 11 | 80 | 33 | 220 | 268 ABCD3 | 1 | 15 | 11 | 40 | 11 | 0 | 26 ABCD3 | 2 | 15 | 11 | 60 | 22 | 100 | 137 ABCD3 | 3 | 15 | 11 | 60 | 33 | 170 | 218 ABCD1 | 1 | 15 | 11 | 50 | 11 | 0 | 26 ABCD1 | 2 | 15 | 11 | 70 | 22 | 120 | 157 ABCD1 | 3 | 15 | 11 | 70 | 33 | 190 | 238
本質BHgt2是由類和級累計& SHgt2是其值+先前值的累計然而,級1 = 0和最後Z = CHGT + BHgt2 + SHgt2
我嘗試過使用ROW_Number &連接和cte組合;但我的想法似乎被卡住了。
如果一個單一的SELECT語句是不可能的,也許是BHgt2和SHgt2
第一更新查詢,然後選擇查詢計算在Z
任何人有一個select語句的想法?這是用於SQL Server 2008的
讓我試試這個,和你的BTW輸出似乎是正確的比我打字 –
每列似乎罰款,但我沒有得到正確的#進行Bhgt2 –
@ DavidChen除了最後一行的10個結果外,我的結果與您想要的結果相符。 –