Требуется помощь у ваших самых ранних парней!
У меня есть дубликаты записей для имени отправителя, который торгует с нами ... Я хочу найти похожие имена отправителя, которые введены с ошибками или неправильно введены в систему.
Например, параметр: ABC trader
Запрос, который мне нужно вернуть:
1. ABC , karachi , pakistan
2. ABCA , karachi , Pakistan
3. ABCA trader,karachi, Pakistan
4. AABC trd, karachi , pakistan
Я хочу написать запрос, который возвращает очень похожие имена для введенных данных..
Это примерный набор данных предположения запроса:
SELECT ROW_NUMBER() OVER(ORDER BY ii.Consignor_Name ASC) AS rn,
ii.ConsignorName AS cn,
ii.ConsignorAddress AS ca,
rc.CountryName AS cc
FROM Index AS ii WITH(NOLOCK)
INNER JOIN Countries AS rc WITH (NOLOCK)
ON ii.Consignor_CountryName = rc.CountryID
WHERE YEAR(ii.EntryDate) > 2017
AND ii.ConsignorName IS NOT NULL
GROUP BY
ii.ConsignorName,
ii.ConsignorAddress,
rc.CountryName
ORDER BY
ii.ConsignorName ASC,
Моя логика: использование функции Soundex в SQL, но у soundex есть ограничения ...
Источник: http://www.basistech.com/whitepapers/the-name-matching-you-need-EN.pdf
Но этот метод только слово в коротком тексте от 4 до 5 слов строки ...
Есть ли другой способ предсказать точные данныеиспользуя SQL?Тот, который выполняет сопоставление с образцом?
Другой вывод будет таким, как будто я хочу проверить торговлю трейдера