gpt4 book ai didi

mysql - 如何在删除语句中使用 Sum 和 Inner Join

转载 作者:行者123 更新时间:2023-11-29 06:59:55 25 4
gpt4 key购买 nike

我有一个名为 TableName 的表,我想从其产品数量 SUM 小于 2 的所有行中删除。我需要内连接oc_order_productSUM具有相同product_id的值,然后使用这个SUM where 子句中的 值用于删除所有 SUM 小于 2 的行。我现在正在使用以下查询:

  Delete TablenName from TablenName
INNER JOIN oc_order_product
ON oc_order_product.product_id = TablenName.product_id
where oc_order_product.quantity HAVING SUM(oc_order_product.quantity) < 2;

我收到以下错误:

    #1064 - You have an error in your SQL syntax; check the manual that
corresponds to your MariaDB server version for the right syntax
to use near 'HAVING SUM(oc_order_product.quantity) < 2' at line 4

最佳答案

嗯。 。 。如果需要进行聚合,则需要在join之前进行:

Delete t
from TablenName t join
(select op.product_id, sum(op.quantity) as sumquantity
from oc_order_product op
group by op.product_id
) op
on op.product_id = t.product_id and op.sumquantity < 2;

关于mysql - 如何在删除语句中使用 Sum 和 Inner Join,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43857172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com