[英]Invalid use of group function 1111
我一直在无效使用组功能。 我正在寻找一个表的值求和,并将答案返回到原始表。 我将在触发器中使用它。
但是我一直在无效使用组函数1111
UPDATE `Order`
INNER JOIN orderitem
ON order.OrderID = orderitem.OrderId
SET Order.TotalAmmount = SUM(orderitem.UnitPrice)
WHERE orderitem.OrderitemId = order.OrderId
使用子查询进行汇总:
UPDATE `Order`
SET `Order`.TotalAmmount =
(SELECT SUM(UnitPrice)
FROM orderitem
WHERE OrderitemId = `Order`.OrderId)
您不能直接在集合值中使用聚合结果(因为结果与表的每一行之间的聚合级别不同),您应该对子查询使用内部联接以获取聚合结果,并将结果用于子查询
UPDATE `Order`
INNER JOIN (
select orderitemID, SUM(orderitem.UnitPrice) sum_price
from orderitem
group by orderitemID
) t on t.orderitemID = order.OrderId
SET Order.TotalAmmount = t.sum_price
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.