簡體   English   中英

在更新語句中計算超過(按順序分區)的運行總計

[英]Calculate running total with over(partition by order by) within update statment

我試圖在產品子組中創建一個運行總收入,並按順序遞增折扣。

我使用了以下查詢

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。 當子查詢跟隨=,!=,<,<=,>,> =或子查詢用作表達式時,不允許這樣做。

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

這看起來像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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM