我有一个 MySQL 数据库,其中有 2 个表,称为 mutaties 和 products
例如,在突变中,您有一个 product_id(对应于产品数据库中的产品 ID。
所以我们现在使用突变数据库中的 SUM(aantal) 获取当前库存。
产品表对每个产品都有一个阈值。
我现在想要做的是设置一个 mysql 查询,该查询获取当前库存低于阈值的每个产品。
现在我有这个:
SELECT *
FROM products
, mutaties
WHERE SUM(aantal) < threshold
但我收到错误无效使用组功能。
做这个的最好方式是什么?
这是我的产品表:在此处输入图片描述
列的翻译是 id,brand,model,threshold
就像 jarlh 在该评论中所写的那样,您可能应该使用现代JOIN
语法。因此,这样的事情应该有效:
select p.id, sum(m.aantal) as aantalsum
from products as p
join mutaties as m on (m.product_id = p.id)
group by p.id, p.threshold
having sum(m.aantal) < p.threshold
注意事项:
products
没有mutaties
,它们将不会出现在该选择中。如果您需要这些,请left outer join
改用。products
athreshold
为 0,它们可能也根本不会出现。group by
表达式中本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句