[英]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.