2012-07-27 6 views
2
Table 1 
Account ID Account name 
Missing  Agreete NV. 


Table 2 
Account ID Account name 
XXX4546778 Agreete 

표 1의 모든 계정 ID는 두 테이블의 계정 이름을 비교하여 가장 잘 일치해야합니다.패턴 일치 SQL 알고리즘

나는 patindex & soundex와 같은 것으로 생각했습니다.

생각 해보니 전체 문자열 비교, 전체 문자열 비교 -1, 일치하지 않는 경우 전체 문자열 비교 -2까지.

그러나 누군가는 낮은 오류율로이를 수행 할 패턴 일치 SQL 알고리즘을 제안해야합니다. 어떤 아이디어?

+1

좋은 이들 중 하나는 돈을 소유자가 많이 만듭니다 :) – Randy

+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' 

실행해야합니다. ..