2017-06-01 53 views
3

我正試圖創建一個運行總收入超過產品子組的折扣,並給出了有序升序。在更新資料中計算運行總額(按訂單分區)

我已經使用下面的查詢

Update Z_Discount_Tool1 Set Cum_Net_Revenue_Discount = 
(Select Sum([Umsatz_Netto]) Over (Partition by [WUGR_act] Order by [Discount] From Z_Discount_Tool1) 

然而,我收到以下錯誤消息

子查詢返回大於1倍的值。當子查詢遵循=,!=,<,< =,>,> =或當子查詢用作表達式時,這是不允許的。

我在代碼中找不到錯誤。所以,任何幫助表示讚賞。提前致謝!

+0

基於語法,我添加了sql-server標記。 –

回答

1

這看起來像SQL Server。您可以使用可更新的CTE:

with toupdate as (
     select dt.*, 
      Sum([Umsatz_Netto]) Over (Partition by [WUGR_act] Order by [Discount]) as new_Cum_Net_Revenue_Discount 
     from Z_Discount_Tool1 dt 
    ) 
Update toupdate 
    Set Cum_Net_Revenue_Discount = new_Cum_Net_Revenue_Discount; 
+0

戈登您好,非常感謝!這工作完美。 – Charlotte