我試圖通過加入我的購物車表并計算購物車中所有專案的總和來更新我的訂單表中所有訂單的小計。這是我所擁有的:
UPDATE O
SET O.subtotal = ISNULL(SUM((C.price - C.discount_price) * C.qty), 0)
FROM Orders AS O
INNER JOIN Cart AS C ON O.cart_id = C.cart_id
WHERE O.date > '01/01/2021'
但是我收到一個錯誤
聚合可能不會出現在 UPDATE 陳述句的集合串列中
我怎樣才能使上述陳述句起作用?
uj5u.com熱心網友回復:
在UPDATE宣告中,您不能使用以下聚合函式:SUM, GROUP BY
對于正確的更新:
UPDATE Orders
SET
subtotal = C.sum_total
FROM
Orders AS O
INNER JOIN (
select
cart_id,
ISNULL(SUM((price - discount_price) * qty), 0) as sum_total
from Cart
group by
cart_id
) AS C ON O.cart_id = C.cart_id
WHERE O.date > '01/01/2021'
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/358596.html
