我正在使用 MySQL 构建一个电子商务网站。我被以下问题困住了。
我有
**products** table:
id | sku
**stocks** table:
id | product_id |quantity
**orders** table:
id | status | products
我想知道进行 SQL 查询的最佳方法,该查询为我提供具有 1 个或多个数量的产品。要获取产品的数量:首先从products获取id,然后检查stocks中的数量(一个product_id可以有超过1行,我想每次我们的商店收到新库存时添加一个新行)并减去product_id出现在订单表中且该行状态为3的总次数。
或者如果您能建议我一个更好的方法来做到这一点,那就太棒了。
非常感谢这里的任何帮助。 谢谢!
最佳答案
这会将产品与库存连接起来,并获取数量值大于或等于 1 的产品列表
刚刚意识到您说产品 ID 可以多次成为库存,因此我建议按产品 ID 分组并对数量求和
SELECT *, SUM(s.quantity) as 'products_total_quantity' FROM products p
INNER JOIN stocks s on s.product_id = p.id
GROUP BY p.id HAVING SUM(s.quantity) >=1
关于php - 基于两个标准(MySQL + 架构 + 数学)展示产品的最佳方式是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43602460/