通过在未旋转的表中进行模糊匹配来计算不同的值

时间:2018-07-12 19:15:00

标签: sql sql-server

我有以下未透视的表:

ID    TYPE       VALUE
a     Address    123 Field Ave
b     Name       John Smith
a     Address    123 Field Avenue         
a     Name       Jeff Grant 
b     Name       John S. Smith
b     Name       JEFF GRANT

目标是:如果两个记录具有相同的ID和TYPE,则它将比较所有VALUES并计算不同值的数量。

当前,这给出:

ID   TYPE      Number_of_Records
a    Name      2
a    Address   2
b    Name      2 

所需的输出将通过模糊匹配具有以下内容(例如,John S. Smith和John Smith将计为1条记录)。

ID   TYPE      Number_of_Records
a    Name      1
a    Address   1
b    Name      2 

请注意,原始表有成千上万条记录,并且模糊匹配无法手动完成,并且记录之间没有唯一ID。实际上,最好以某种方式使用Jaro-Winkler方法,如果相似度大于指定的数字(例如0.8),那么它将被视为一条记录。

0 个答案:

没有答案