这个MySQL代码有问题。 它似乎正在返回更多的股票,然后应该有。MySQL多个左连接组由
表位置持有股票获得(多个位置的一个产品) 表orderbody持有订单订购的产品(1个orderheader许多orderbody)
SELECT PRO.ProductID,
PRO.ProductCode,
SUM(POS.Qty) AS instock,
SUM(OB.Qty) AS onorder
FROM products AS PRO
LEFT JOIN position AS POS ON POS.ProductID = PRO.ProductID
LEFT JOIN orderbody AS OB ON OB.ProductID = PRO.ProductID
WHERE POS.ProductID = OB.ProductID
GROUP BY PRO.ProductID, POS.ProductID, OB.ProductID
- 我得到320的inStock
- 实际库存数量= 40
位数= 2(每个数量20)
的onOrder = 16数量
- 实际orderbody = 8个的行数
- 实际上顺序= 8(每个具有数量= 1)
这是对产品之一
我知道它与团队有关,但我无法解决。
感谢您收到的任何帮助。
是运行他们像下面的作品。但我认为有一种方法可以让我像这样做。谢谢回复。 – Ryan