比较两个表中的数量

先生

我有一个设置,其中一个表列出了项目的成本。另一个表列出了剩余的那些项目。

我想比较这两个表,如果至少有一行的剩余项目少于成本,则返回false。

这是一个表格设置示例:

table for costs

//note there can be multiple ingredients per materialID
ID | materialID | IngredientID | quantity_per_one
 1 |      4     |      5       |       50

table for user's available ingredients

ID | UserID | IngredientID | quantity
 2 |    3   |       5      |   46

这是一个示例方案:

用户购买 5 x materialID: 4

这意味着将花费他:(50 x 5) of IngredientID 5使用上述数据,他显然不够用,因此结果应返回false或没有行count()

现在,我当前的方法是在PHP中获取行循环并逐一检查,但是如果我可以立即通过SQL进行Camparison,则可以避免执行循环。

在SQL中这可能吗?

杰克

只需根据该IngredientID将两个表连接起来

SELECT MIN(quantity_per_one * 5 <= quantity) AS has_enough
FROM costs
INNER JOIN user_ingredients USING (IngredientID)

的值has_enough0(一种成分不足)或1(所有成分都存在)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章