模式匹配sql算法

时间:2012-07-27 15:32:25

标签: sql sql-server

Table 1
Account ID   Account name 
Missing      Agreete NV.


Table 2 
Account ID   Account name 
XXX4546778   Agreete

我必须根据查看两个表中帐户名称的最佳匹配来计算表1中的所有帐户ID。

我想到了,patindex&同音。

考虑一下我正在考虑比较全字符串,如果没有匹配则比较完整字符串-1,如果不匹配则再比较完整字符串-2直到你得到一个匹配。

然而,有人必须提出模式匹配sql算法,这将以低错误率执行此操作。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

也许我错过了你的问题,但在我看来,你有完全像你所说的匹配

update t1
set [account id] = t2.[account id]
from table1 t1
inner join table2 t2 on t1.[account name] = t2.[account name]
where t1.[account id] = 'missing'

你有部分匹配

update t1
set [account id] = t2.[account id]
from table1 t1
inner join table2 t2 on t1.[account name] like t2.[account name] + '%'
where t1.[account id] = 'missing'

按顺序运行......