[英]UPDATE and SET column row values by calculating values from antoher table
我有兩個表:
產品 - 具有 UnitsSold(已售產品/項目的總/累計數量),以及
sales - 有 SoldQuantity(每筆交易售出多少單位)
同一個單位可以多次銷售,因此我們需要從具有 SoldQuantity 的銷售表中計算它的銷售次數,並在 UnitsSold 中顯示結果,這將顯示我們每件商品總共銷售了多少件商品。
我使用這個查詢,但它返回一些問題
#1111 - 無效使用組功能):
UPDATE products
JOIN sales
ON sales.Itemcode = products.Code
SET products.UnitsSold = SUM(sales.SoldQuantity)
WHERE sales.ItemCode = products.Code
那么哪個是返回准確結果並解決此問題的正確查詢?
加入前需要聚合:
UPDATE products p INNER JOIN
(SELECT s.ItemCode, SUM(s.SoldQuantity) as SoldQuantity
FROM sales s
GROUP BY s.ItemCode
) s
ON s.Itemcode = p.Code
SET p.UnitsSold = s.SoldQuantity;
你可以為你的 SUM 做一個子查詢
UPDATE products INNER JOIN sales ON sales.Itemcode = products.Code
SET products.UnitsSold = (SELECT SUM(sales.SoldQuantity) WHERE sales.ItemCode = products.Code)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.