【发布时间】:2020-08-17 04:43:47
【问题描述】:
我正在从StackOverFlow 阅读this post 以调整查询以从3 个表中计算库存。我有 3 张桌子 tblItems、tblPurchase 和 tblSales。 tblItems 包含如下项目信息。
ItemCode Description ItemClass ItemCategory ReorderLevel Unit Stop
IT000001 Tonner 226A Tonner IT Accessories 10 Pc(s) No
IT000002 Keyborad (A4Tech, Slim Key) Keyboard IT Accessories 10 Pc(s) No
IT000003 Mouse (Wireless) Mouse IT Accessories 10 Pc(s) No
SI000001 A4 Size Paper Paper Office Stationary 10 Pc(s) No
SI000002 Pen (Black) Pen Office Stationary 10 Pc(s) No
SI000003 Pen (Blue) Pen Office Stationary 10 Pc(s) No
我的表格的屏幕截图
tblItems:
tblPurchase:
tblSales:
我的预期结果如下所示
查询结果中的项目详细信息将来自tblItems。将每件商品的购买数量和每件商品的销售数量相加,然后从 PurchaseQuantity 中减去 SalesQuantity 以查看库存。
这是我的查询,它给了我以下警告。
SELECT DISTINCTROW tblItems.ItemCode, TblItems.Description, TblItems.ItemClass, TblItems.ItemCategory, TblPurchaseAgg.[pQuantity], TblSalesAggs.[sQuantity]
FROM (TblItems
LEFT JOIN (SELECT TblItems.ItemCode AS ItemCode, Sum(TblPurchase.Quantity) AS pQuantity FROM TblItems LEFT JOIN TblPurchase ON TblItems.ItemCode = TblPurchase.ItemCode GROUP BY TblItems.ItemCode)
AS TblPurchaseAgg ON TblItems.ItemCode = TblPurchaseAgg.ItemCode)
LEFT JOIN
(SELECT TblItems.ItemCode AS ItemCode, Sum(tblSales.Quantity) AS sQuantity FROM TblItems LEFT JOIN tblSales ON TblItems.ItemCode = tblSales.ItemCode GROUP BY TblItems.ItemCode) AS TblSalesAggs ON TblItems.ItemCode = TblSalesAggs.ItemCode
GROUP BY TblItems.ItemCode, TblItems.Description, TblItems.ItemClass, TblItems.ItemCategory;
寻求帮助以解决警告并获得我的预期输出。任何帮助是极大的赞赏。提前致谢。
【问题讨论】: