我有一个设置,其中一张表列出了物品的成本。另一个表列出了剩下的这些项目的数量。
我想比较这两个表,如果至少有一行剩余的项目小于成本,则返回 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 中可能吗?