首页 > 解决方案 > 使用 SQL 中的模式匹配预测供应商/贸易商列表中的类似供应商

问题描述

在你们最早的时候需要帮助!

我有与我们交易的发货人姓名重复记录... 我想在系统中搜索输入拼写错误或错误输入的类似发货人姓名。

例如参数:ABC 交易员

我需要返回的查询:

 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,

我提出的逻辑:在 SQL 中使用 Soundex 函数,但是 soundex 有局限性……

在此处输入图像描述

资料来源:http ://www.basistech.com/whitepapers/the-name-matching-you-need-EN.pdf

但是这种方法只是短文本上的单词 4 到 5 个单词的字符串...

有没有其他方法可以使用 SQL 来预测准确的数据?一种执行模式匹配?

另一个输出就像我想检查交易者的交易

标签: sql-serverpattern-matchingstring-matchingsimilaritysoundex

解决方案


推荐阅读