小编Ste*_*fan的帖子

MySQL 用 sum 加速子查询

我需要一个查询来获取实际库存的概述(每个唯一的产品 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
Run Code Online (Sandbox Code Playgroud)

mysql sql join subquery

1
推荐指数
1
解决办法
892
查看次数

标签 统计

join ×1

mysql ×1

sql ×1

subquery ×1