我正在尝试找到一种方法,将表 1 中的一列干净数据与表 2 中的一列脏数据相匹配,而不对脏数据进行任何更改。我正在考虑模糊匹配,但干净表中的条目太多,无法使用 CDE。因此,例如:
Table 1
GroupID CompanyName
123 CompanyA
445 CompanyB
556 CompanyC
Table 2
GroupID Patientname
AE123789 PatientA
123987 PatientB
445111 PatientC
我正在尝试使用团体号码将保险公司与患者进行匹配。有没有匹配的方法? (幸运的是,组编号实际上要长得多,并且在寻找单个组的患者值(value)时,模糊匹配效果非常好,因此它们似乎足够独特,可以应用于此处)。
使用 SQL Server 2008。
最佳答案
这会根据您使用的数据库而略有变化,但看起来您正在寻找类似这样的东西:
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,'%')
关于sql - 列与列之间的模糊匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23617292/