Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

SQL Server cosa fare per creare una chiave di confronto da un valore di stringa

potrebbe funzionare, ma potrebbero esserci false corrispondenze, senza alcun modo per prevenirle, perché hai solo una soluzione di algoritmo. La soluzione migliore è creare una tabella alias. Includere ogni variazione mai trovata per ogni nome dell'azienda e un FK all'ID dell'azienda reale. Includi anche una riga per il nome effettivo.

AliasID CompanyID CompanyAlias
------- --------- ------------
1       1         Company X, Inc   <<--actual real company name
2       1         Company X Inc
3       1         Company X

Se non viene trovata una corrispondenza esatta del nome in questa tabella durante l'importazione dei dati, è possibile utilizzare l'algoritmo proposto o un altro, oppure utilizzare un input umano, ecc. per trovare una corrispondenza o generare una nuova società. A quel punto inserisci nella tabella degli alias. Se scopri che la tua corrispondenza era sbagliata per qualche motivo, puoi modificare la tabella degli alias per creare la mappatura corretta. Se utilizzi solo un algoritmo, dovresti includere le eccezioni e il tuo algoritmo diventerebbe grande e lento. Con questa tabella e un buon indice, trovare le tue corrispondenze dovrebbe essere veloce.