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

Java 部分匹配的可能解决方案(n个字段中至少有p个匹配),java,sql,oracle,Java,Sql,Oracle,我正在寻找部分匹配/可能匹配(n个字段中至少有p个匹配)的可能解决方案 我们有一个数据库(Oracle),其中包含以下人员记录: 名字 姓 生日 公民号 公民广场 出生地 另一个数字 地区 (*)请记住,没有唯一标识符,也不能提供所有字段,有些字段可能是可选的(null) 如果8个字段中至少有5个字段匹配,我们正在寻找一种解决方案来根据数据库记录检查给定的人员 有没有可能使用SQL、SQL/Java或nosql或弹性搜索解决方案 提前谢谢。您可以使用where计算匹配项: select t.

我正在寻找部分匹配/可能匹配(n个字段中至少有p个匹配)的可能解决方案

我们有一个数据库(Oracle),其中包含以下人员记录:

  • 名字
  • 生日
  • 公民号
  • 公民广场
  • 出生地
  • 另一个数字
  • 地区
(*)请记住,没有唯一标识符,也不能提供所有字段,有些字段可能是可选的(null)

如果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;

好主意!