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