有人可以帮我解决这个问题吗?我在互联网上搜索了几十个例子,但我找不到一个有效的解决方案。 我正在使用Access 2013.问题是我正在尝试进行查询,以突出显示来自供应商的所有零件编号,这些零件编号包含客户退货订单和/或逾期交货。
我使用三张桌子:
查询正在检索数据,但返回的数量是应该的两倍。
SELECT
I.Inventory_Part_Num, I.Description, I.On_Hand_Stock,
COUNT (B.Part_Number) AS Back_Order_Count, SUM(B.Back_Order_Qty) as BO_Qty,
COUNT(O.Part_Number) AS Late_Deliveries_Count, SUM(O.Order_Qty) AS Late_Qty
FROM (tbl_Inventory_Master AS I
LEFT OUTER JOIN tbl_Customer_Back_Order AS B
ON I.Inventory_Part_Num = B.Part_Number)
LEFT OUTER tbl_On_Order AS O
ON I.Inventory_Part_Num = O.Part_Number
WHERE
I.Customer_Code = '274' AND
O.Due_Date < [ENTER TODAYS DATE IN FORMAT DD/MM/YYYY]
GROUP BY I.Inventory_Part_Num, I.Description, I.On_Hand_Stock
例如,对于零件号2022940,我应该有10个后退订单行和逾期数量为43.相反,查询返回20 返回订单行和逾期数量总和为86。
从订单表中我有三个订单,总共144件,而查询返回960。
有人可以建议,因为这让我发疯了吗?