SQL Fuzzy Join - MSSQL

Ich habe zwei Datensätze. Bestandskunden und potenzielle Kunden.

Mein Hauptziel ist es, herauszufinden, ob es sich bei einem der potenziellen Kunden bereits um bestehende Kunden handelt. Die Namenskonventionen von Kunden über Datensätze hinweg sind jedoch inkonsistent.

BESTEHENDE KUNDE

Customer /  ID
Ed's Barbershop /   1002
GroceryTown /   1003
Candy Place /   1004
Handy Man / 1005

POTENTIELLE KUNDE

Customer
Eds Barbershop
Grocery Town
Candy Place
Handee Man
Beauty Salon
The Apple Farm
Igloo Ice Cream
Ride-a-Long Bikes

Ich möchte eine Art Select-Anweisung wie die folgende schreiben, um mein Ziel zu erreichen:

SELECT a.Customer, b.ID
FROM PotentialCustomers a LEFT JOIN
     ExistingCustomers B
     ON a.Customer = b.Customer

Die Ergebnisse würden ungefähr so aussehen:

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

Ich bin mit den Konzepten von Levenshtein Distance und Double Metaphone vage vertraut, aber ich bin nicht sicher, wie ich sie hier anwenden soll.

Ideally möchte ich, dass der JOIN-Teil der SELECT-Anweisung etwa so lautet:LEFT JOIN ExistingCustomers as B WHERE a.Customer LIKE b.Customer aber ich weiß, dass die Syntax falsch ist.

Alle Vorschläge sind willkommen. Vielen Dank

Antworten auf die Frage(8)

Ihre Antwort auf die Frage