这个MySQL代码有问题。 似乎应该有更多的股票回报。
表位持有库存(多个仓位一个产品) table orderbody持有订单订购的产品(1个订单到多个订单)
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
职位数量= 2(每个数量20)
onorder = 16 qty
这是其中一个产品
我知道这与小组有关,但是我无法解决这个问题。
感谢收到的任何帮助。
答案 0 :(得分:0)
你正在选择这个字段PRO.ProductCode,但不是按它分组,猜测可能是问题。
答案 1 :(得分:0)
前几天我遇到了同样的问题。通过从单独的查询中选择来尝试:SELECT ... FROM products,(SELECT ...)...“您要将两个表连接起来。尝试首先测试子查询,然后尝试一旦它工作就把它放在一起。(一旦你有你想要的数据,而不是重复,因为这是你的问题。