我有这张桌子:
CREATE TABLE objects
( object_id number(10) NOT NULL,
name VARCHAR2(200 BYTE),
);
具有这些记录:
9151482934513744571 AC4081_OMACHA
9151482934513743613 AC4082_COLQUEPATA
9151482934613750753 AC4419_PAUCARTAMBO CUSCO
9154252955213812112 AC4419_PAUCARTAMBO_CUSCO
9151482934513743808 AC4453_KITENI_PROGRESO
9151482934613748866 ACT4411_Calca
9152506990913096049 ACT4411_Calca_Nuevo__
表有6000条记录,这只是一个示例,但是我想从中返回的只是对象的相似名称(没有相等的对象,只有相似性),所以具有范围的相似性:
AC4419_PAUCARTAMBO CUSCO AC4419_PAUCARTAMBO_CUSCO 98
ACT4411_Calca ACT4411_Calca_Nuevo__ 92
我用这些查询来做,但是,如您所见,指定了object_id,在这种情况下为9151482934613748866,我的问题是,如果删除特定的对象ID,结果将超出预期。 这是查询:
select a.name,b.name,UTL_MATCH.jaro_winkler_similarity(a.name,b.name)
from objects a,(select name from objects) b
where
a.object_id=9151482934613748866 and UTL_MATCH.jaro_winkler_similarity(a.name,b.name)>90
and UTL_MATCH.jaro_winkler_similarity(a.name,b.name)<100;
但是删除特定的object_id不能按预期方式工作,这给了我所有组合,而不是所需的特定结果。怎么了?