【发布时间】:2017-05-09 16:27:29
【问题描述】:
我需要一个查询来获取实际库存的概览(每个唯一产品 ID 只有一行)以及所有销售和采购订单。现在,我们使用两个子查询(销售订单和采购订单),因为可能有多个销售订单和采购订单。 由于有两个子查询,此查询非常慢。是否有另一种方法来获取销售订单的总和和采购订单的总和,例如常规左连接?
当前查询
SELECT stock.quanity, salesOrders.quantity, purchaseOrders.quantity
FROM stock
LEFT JOIN (
SELECT product_id, sum(quantity) as quantity
FROM sales_orders
GROUP BY product_id
) salesOrders ON stock.product_id=salesOrders.product_id
LEFT JOIN (
SELECT product_id, sum(quantity) as quantity
FROM purcahse_orders
GROUP BY product_id
) purchaseOrders ON stock.product_id=purchaseOrders.product_id
【问题讨论】:
-
您在
stock.product_ID和salesOrders.product_ID和purchaseOrders.Product_ID上有索引吗? -
是的,产品是列有索引。