当字符串不是 100% 相等时如何连接它们?

How to join strings when they are not 100% equal?

我有 2 个表(来自代理使用的 2 个工具),我需要在不同的级别加入它们:国家等...

我需要加入他们的一个级别是表明您在公司中的角色的代码。 问题是此代码在两种工具中以两种不同的方式输入,但它们的含义相同。

例如,在一个工具中输入为“att/m T1”,在另一个工具中输入为“att/m”,因此连接不会连接这两个。它不仅一种情况,但我有不同的情况,其中输入代码的方式有所不同。

我需要加入这个领域。我该如何解决这个问题?我尝试创建 Case When,但它不可扩展。知道我该如何解决这个问题吗?

谢谢!

我只能使用 Access 数据库构建和测试 SQL。考虑:

SELECT Table1.*, Table2.*
FROM Table1, Table2
WHERE (((Table1.T1) Like [Table2].[T2] & "*"));

或者

从第一个 table 字符串中提取键值。

SELECT IIf(Instr(T1," ")>0,Left([T1],InStr([T1]," ")-1), T1) AS D, F1 FROM Table1;

将该查询加入第二个 table。

SELECT Table2.*, Query1.* FROM Query1 INNER JOIN Table2 ON Query1.D = Table2.T2;

解析字符串时,结构的一致性至关重要。任何变化都会使提取复杂化。

我不知道一种方法是否会比使用大型数据集的其他方法更快。