【发布时间】:2018-05-31 05:30:24
【问题描述】:
我正在寻找一种从两个表中计算库存数量的方法。
我的表记录如下:
下面是我的产品表
我有两张表,第一张是“stockinward”,用于购买股票,另一张是stockoutward,用于卖出股票。
下面是stockinward表格截图
这是stockoutward的截图
以下是我计算库存的查询
SELECT
p.Id,
p.Name,
p.UnitPrice,
((SELECT
IFNULL(SUM(Quantity), 0)
FROM
stockinward
WHERE
ProductId = p.Id) - (SELECT
IFNULL(SUM(Quantity), 0)
FROM
stockoutward
WHERE
ProductId = p.Id)) AS Quantity
来自 产品p;
但是问题出在上面的查询中,当我有超过 1000 个产品时,它需要超过 8 秒,那么有没有其他方法可以在 1 秒或 2 秒内得到相同的结果?
提前致谢:)
【问题讨论】:
-
让我们再做一次,但没有任何图片
-
如果你使用 MS SQL 服务器而不是 MYSQL,你会发现速度有很大的变化