当字符串不是 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;
解析字符串时,结构的一致性至关重要。任何变化都会使提取复杂化。
我不知道一种方法是否会比使用大型数据集的其他方法更快。
我有 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;
解析字符串时,结构的一致性至关重要。任何变化都会使提取复杂化。
我不知道一种方法是否会比使用大型数据集的其他方法更快。