Access Query链接两个值相似的表



我正在尝试创建一个选择查询,以访问我想要链接/创建关系的两个表。

通常情况下,如果两个表都包含相同的值,则可以只";拖动";并在这两列之间创建链接。

然而,在这种情况下,第二表具有"0"/"客户";在字段末尾添加。

示例;表1.OrderNumber包含的订单号总是包含10个字符的

表2.引用包含相同的订单号,但将具有"0"/"客户";添加到末尾。

我可以在查询中链接/创建这两者之间的关系吗?如何?

谢谢你的帮助!Sebastian

Table1.OrderNumber包含的订单号总是包含10个字符的

如果是,请尝试此连接:

ON Table1.OrderNumber = Left(Table2.Reference, 10)

对于这些细致入微的联接,您必须使用SQL,而不是使用图表设计视图。考虑MS Access中的以下步骤:

  1. 在"设计"视图中,创建联接,就好像两个客户字段完全匹配一样。然后运行查询,正如您所指出的,该查询应该不会返回任何结果。

  2. 在SQL视图中,找到ON子句并进行调整以替换该字符串。具体而言,更改本条款

    ON Table1.OrderNumber = Table2.Refference
    

    本条款:

    ON Table1.OrderNumber = REPLACE(Table2.Refference, '/CUSTOMER', '')
    

    然后运行查询以查看结果。

    请注意:使用以上更改,您在尝试在设计视图中打开查询时可能会收到Access警告,因为它可能无法可视化。如果忽略该警告,则可能会恢复上述SQL更改。因此,只在SQL视图中对查询进行任何更改。


或者(可以说是更好的解决方案(,考虑使用源表上的UPDATE查询清除该字符串,以便原始联接可以工作。任何避免复杂性的更改都是一种理想的方法。只在SQL查询下运行一次:

UPDATE Table2
SET Refference = REPLACE(Refference, '/CUSTOMER', '')

最新更新