尝试进行一个查询,将订单与请购单进行匹配,这样对于每个延期订单,如果找到匹配的PartNo,将会有一个请购单来实现它。
后退订单
CustomerNo PartNo CustomerDue
---------------------------------
1099 109100 MechShop
1012 187187 EngrShop
1259 547554 MechShop
1455 109444 WeldShop
1695 505444 EngrShop
2999 187187 MechShop
收到的申请
ReqNo Source PartNo DateExp
--------------------------------
AB200 Depot1 547554 10/01/2018
RB300 Depot2 187187 02/01/2018
AB500 Depot1 547554 10/01/2018
AB560 Depot3 109453 01/01/2018
QB100 Depot4 187187 04/20/2018
RB480 Depot4 109100 01/31/2018
TB100 Depot5 547554 12/20/2018
SB500 Depot4 187187 05/01/2018
我通过零件编号将两者联系起来但是我为每个匹配的条目重复(重复?)条目。我的链接显示了后退订单表中的所有记录,只显示了与来电申请表相匹配的记录,因此如果显示空白订单,我知道我必须放置一个请购单来完成它。但是,我还需要显示所有正在填写相应请购单的订单。这就是我得到的:
查询结果
CustomerNo PartNo CustomerDue ReqNo Source PartNo DateExp
------------------------------------------------------------
1099 109100 MechShop RB480 Depot4 109100 01/31/2018
1259 547554 MechShop AB200 Depot2 547554 10/01/2018
1259 547554 MechShop AB500 Depot2 547554 10/01/2018
1259 547554 MechShop TB100 Depot5 547554 12/20/2018
1455 109444 WeldShop
1695 505444 EngrShop
1012 187187 EngrShop RB300 Depot2 187187 02/01/2018
1012 187187 EngrShop QB100 Depot4 187187 04/20/2018
1012 187187 EngrShop SB500 Depot4 187187 05/01/2018
2999 187187 MechShop RB300 Depot2 187187 02/01/2018
2999 187187 MechShop QB100 Depot4 187187 04/20/2018
2999 187187 MechShop SB500 Depot4 187187 05/01/2018
请注意CustomerNo 1259& 1012&重复2999。我只希望查询匹配条目一次,然后继续前进而不是向我显示所有匹配的结果。如何在Access中实现这些功能?通过向Back Orders表添加唯一ID,我被告知了唯一值,但这不起作用。任何帮助,将不胜感激。谢谢。
编辑: 这是我理想的结果。
查询结果
CustomerNo PartNo CustomerDue ReqNo Source PartNo DateExp
------------------------------------------------------------
1099 109100 MechShop RB480 Depot4 109100 01/31/2018
1259 547554 MechShop AB200 Depot2 547554 10/01/2018
1455 109444 WeldShop
1695 505444 EngrShop
1012 187187 EngrShop RB300 Depot2 187187 02/01/2018
2999 187187 MechShop QB100 Depot4 187187 04/20/2018
订单1012由ReqNo RB300填充,然后下一个ReqNo填充相同部件的下一个订单,在这种情况下,订单2999未由RB300填充,因为它已被使用,而是由QB100填充。
答案 0 :(得分:0)
为什么不展示那些缺失的?
select bo.*
from backorders as bo
where not exists (select 1
from requisitions as r
where bo.partno = r.partno
);