【发布时间】:2013-07-15 12:35:50
【问题描述】:
我有一个设置,其中一张表列出了物品的成本。另一张表列出了这些项目的剩余数量。
我想比较这两个表,如果至少有一行剩余的项目低于成本,则返回 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 中可行吗?
【问题讨论】: