Может кто-нибудь помочь мне с этим вопросом?Я искал в интернете десятки примеров, но я просто не могу найти решение, которое работает.Я использую Access 2013. Проблема заключается в том, что я пытаюсь создать запрос, в котором будут выделены все номера деталей от поставщика, у которого есть заказы клиента или / или просроченные поставки.
Я использую три таблицы:
- tbl_Inventory_Master , который мне требуется номер детали , на складе, стоимость и код поставщика ,
- Для любых задних заказов мне нужно присоединиться к таблице t bl_Customer_Back_Order , так как мне нужно количество строк задних заказов и сумма количества задних заказов.
- Если поставщик имеет позднюю поставку, то мне нужно добавить таблицу tbl_On_Order , показывающую количество просроченных поставок и сумму просроченных количеств.
Запрос извлекает данные, но возвращаемое количество в два раза больше, чем должно быть.
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.
Может кто-нибудь посоветовать, как это сводит меня с ума?