任何人都可以在我的MYSQL查询中为我提供很多帮助吗

时间:2019-01-24 12:40:33

标签: mysql

我有三个表:产品,库存和成分

Product Table    
ID[PK]        Name            Type
1         OrdinaryBurger     Burger
2         CheeseBurger       Burger

Inventory table
ID[PK]    Item_name    Stocks
100       Buns         5
101       Patties      5
103       Cheese       0

Ingredients table
ID[PK]      ProductID[FK]    InventoryID[FK]  Quantity
1001        1                  100            1
1002        1                  101            1
1003        2                  100            1
1004        2                  101            1
1005        2                  103            1

我想创建一个查询,以显示所有产品的数量,例如:

Products table

Product_name      Number_of_item_it_can_make     
OrdinaryBurger     5
CheeseBurger       0

我不知道如何开始。谢谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我要查询的是每种产品中库存中最少的成分除以生产它所需的成分:

SELECT   p.name, FLOOR(MIN(inv.stocks / ing.quantitiy)) AS num_can_make
FROM     product p
JOIN     ingredients ing ON p.id = ing.productId
JOIN     inventory inv ON ing.inventoryId = inv.id
GROUP BY p.name