繁体   English   中英

部分匹配的可能解决方案(n 个字段中至少 p 个匹配)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM