我有两个表TblInventory和TblWithdrawal。 TblInventory有productID和TblWithdrawal。
按产品ID分组,如何将TblInventory中的数量和SUM
TblWithdrawal中的数量相加,然后将SUBTRACT
相互调整,以便获得每个ProductID的剩余数量或差异?
这就是我提出的,但是当我运行查询时,它要求我输入一个错误的参数,因为我希望它自动遍历表并对每个ProductID执行操作。
SELECT TblInventory.ProductID,
SUM(TblInventroy.Quantity) - SUM(TblWithdrawals.Quantity) As [Remaining]
FROM TblInventory
LEFT JOIN TblWithdrawals ON TblInventory.ProductID = TblWithdrawals.ProductID
WHERE TblInventory.ProductID = TblWithdrawals.ProductID
GROUP BY TblInventory.ProductID
谢谢。我真的需要解决这个问题!
答案 0 :(得分:0)
不要使用WHERE子句。并使用INNER JOIN而不是LEFT JOIN
答案 1 :(得分:0)
使用子查询,首先写入组sqls然后根据需要加入它。看下面的sql。
SELECT invent.ProductID,invent.invQty- withdrawl.withdrQty as Remaining
FROM(选择ProductID,SUM(Quantity)作为invQty
来自TblInventory)作为发明
LEFT OUTER JOIN
(选择ProductID,SUM(Quantity)asdrQty
从TblWithdrawals)撤回
ON invQty.ProductID = withdrawl.ProductID
尝试这个祝福