模糊匹配列到列

时间:2014-05-12 19:29:31

标签: sql match fuzzy

我正在尝试找到一种方法,将表1中的一列干净数据与table2中的脏数据列相匹配,而不对脏数据进行任何更改。我在考虑模糊匹配,但干净表中有太多条目允许使用CDE。所以,例如:

Table 1
GroupID    CompanyName
123        CompanyA
445        CompanyB
556        CompanyC

Table 2
GroupID    Patientname
AE123789   PatientA
123987     PatientB
445111     PatientC

我正在尝试使用组号将保险公司与患者匹配。那里有匹配的方法吗? (幸运的是,群组数字实际上要长得多,而且在寻找单个群体的患者时,模糊匹配效果非常好,所以它们似乎足够独特,可以在这里应用。)

在SQL Server 2008中工作。

1 个答案:

答案 0 :(得分:2)

这会根据您使用的数据库略有变化,但看起来您正在寻找类似这样的内容:

MSSQL

select *
from table1 t1
  join table2 t2 on t2.groupid like '%'+cast(t1.groupid as varchar(max))+'%' 

MySQL - 使用Concat()

select *
from table1 t1
  join table2 t2 on t2.groupid like concat('%',t1.groupid,'%')