我正在尝试列出我的产品表,但带有指向我的交货订单的链接,以便为我提供某些状态下的库存总和;分配、派送等
有一个“状态”字段来定义当前交货的位置,例如;1 = 已分配,2 = 已发送,3 = 已交付等
这是我目前为止
SELECT product.*, sum(quantity) AS allocated FROM product
LEFT JOIN delivery_product ON ( product.id = product_id )
LEFT JOIN delivery ON ( delivery_id = delivery.id AND delivery.status = 1 )
GROUP BY code
ORDER BY code
它包括来自delivery_product的所有数量匹配,而我只想包括那些交货订单状态= 1的。我认为这是因为我在状态限制开始之前首先加入delivery_product表,但我还能怎么做呢?
如果你能看到一个更好的方法来完成我的任务,那就加分:)
-
product
id code stock
1 ABC 1000
2 DEF 2000
delivery
id status date etc
1 1 etc etc
delivery-product
id delivery_id product_id quantity
1 1 1 500
results
product.id product.code product.stock allocated
1 ABC 1000 500
2 DEF 2000 0