Junção Fuzzy do SQL - MSSQL
Eu tenho dois conjuntos de dados. Clientes existentes e clientes em potencial.
Meu principal objetivo é descobrir se algum dos clientes em potencial já é cliente existente. No entanto, as convenções de nomenclatura dos clientes nos conjuntos de dados são inconsistentes.
CLIENTES EXISTENTES
Customer / ID
Ed's Barbershop / 1002
GroceryTown / 1003
Candy Place / 1004
Handy Man / 1005
CLIENTES POTENCIAIS
Customer
Eds Barbershop
Grocery Town
Candy Place
Handee Man
Beauty Salon
The Apple Farm
Igloo Ice Cream
Ride-a-Long Bikes
Gostaria de escrever algum tipo de instrução select como abaixo para alcançar meu objetivo:
SELECT a.Customer, b.ID
FROM PotentialCustomers a LEFT JOIN
ExistingCustomers B
ON a.Customer = b.Customer
Os resultados seriam parecidos com:
Customer / ID
Eds Barbershop / 1002
Grocery Town / 1003
Candy Place / 1004
Handee Man / 1005
Beauty Salon / NULL
The Apple Farm / NULL
Igloo Ice Cream / NULL
Ride-a-Long Bikes / NULL
Estou vagamente familiarizado com os conceitos de Distância de Levenshtein e Metaphone Duplo, mas não sei como aplicá-lo aqui.
Idealmente, eu gostaria que a parte JOIN da instrução SELECT lesse algo como:LEFT JOIN ExistingCustomers as B WHERE a.Customer LIKE b.Customer
mas sei que a sintaxe está incorreta.
Todas as sugestões são bem-vindas. Obrigado!