[英]Possible solutions for partial match (at least p out of n fields matches)
我正在寻找部分匹配/可能匹配的可能解决方案(至少 p 出 n 个字段匹配)。
我们有一个数据库(Oracle),其中填充了人员记录,如下所示:
(*) 请记住,没有唯一标识符,并非所有字段都可以提供,某些字段可能是可选的(空)。
如果 8 个字段中至少有 5 个匹配,我们正在寻找一种解决方案来对照数据库记录检查给定的人。
是否有可能使用 SQL、SQL/Java 或我们应该寻找 nosql 或弹性搜索解决方案的解决方案?
先感谢您。
您可以使用where
并计算匹配项:
select t.*
from t
where ( (case when t.firstname = :firstname then 1 else 0 end) +
(case when t.firstname = :lastname then 1 else 0 end) +
. . .
) >= 5;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.