我提前道歉,因为这个问题在这个网站上多次以各种形式出现,但我尝试实施的解决方案似乎都无法正常工作,而且我找不到可以得到正确答案的已回答问题。
我正在为一位同事从事 Access 工作,不过一旦他能够设置服务器,将来可能会使用 SQL。我正在尝试使用 Like 连接两个表,这很简单,只是它无法正常工作。首先,每个表中的一个示例:
T1
+-------------------------+--------------------------------------------------------------+--------------+
|LOCATION_CG_LOC_LEGACY_ID|LOCATION_CODE_DESC |PI_LOW_SIDE_MW|
+-------------------------+--------------------------------------------------------------+--------------+
|55555-Opt01 |Autobot Transformer, 800/900 NETWORK, Optimus #1 - 800 NETWORK|5 |
+-------------------------+--------------------------------------------------------------+--------------+
|55555-Opt02 |Autobot Transformer, 800/900 NETWORK, Optimus #2 - 800 NETWORK|6 |
+-------------------------+--------------------------------------------------------------+--------------+
|55555-Opt03 |Autobot Transformer, 800/900 NETWORK, Optimus #3 - 800 NETWORK|6.5 |
+-------------------------+--------------------------------------------------------------+--------------+
T2
+------+-----------------------------------------+------------+
|DIVID |DMT Bank Name |5 Digit Code|
+------+-----------------------------------------+------------+
|647531|800/900 NETWORK, Optimus #1 - 800 NETWORK|55555 |
+------+-----------------------------------------+------------+
|647532|800/900 NETWORK, Optimus #2 - 800 NETWORK|55555 |
+------+-----------------------------------------+------------+
|647533|800/900 NETWORK, Optimus #3 - 800 NETWORK|55555 |
+------+-----------------------------------------+------------+
我试图从本质上组合类似的项目,以便我可以执行我想要的任何查询。不过现在,我可以选择全部。我只需要组合相似的物品即可。在 T1 中,第一列 [LOCATION_CG_LOC_LEGACY_ID] 是非重复的唯一项。在T2中,[DIVID]是一个不重复的唯一项。我试图使用一起查询它们
SELECT *
FROM [Data Table 1] INNER JOIN [Data Table 2] ON (([t1].[LOCATION_CODE_DESC] Like [t2].[DMT Bank Name]
OR [t2].[DMT Bank Name] Like [t1].[LOCATION_CODE_DESC]) AND ([T1].[LOCATION_CG_LOC_LEGACY_ID] Like [t2].[5 Digit Code] or [t2].[5 Digit Code] Like [T1].[LOCATION_CG_LOC_LEGACY_ID]));
现在,我认为该连接条件的后半部分存在问题,但即使仅使用前半部分,我也会得到零结果。但是,如果我编辑每个表中的中间列,然后使用该条件的前半部分,它就可以完美工作。换句话说,如果我使列完全匹配,则查询似乎可以工作,这违背了使用“like”连接的初衷。
我还没有在 SQL Server 中尝试过这一点,但我需要让它在 Access 中工作,至少作为概念证明。各位出色的女士们先生们能给我任何帮助,我将不胜感激,即使它指出了我像个傻瓜一样错过的另一条线索。
最后,如果可能的话,我尽量避免使用 VBA。