我想比较开放 SQL 中的 4 个字段是否存在重复项。
场景:用户有 4 个字段要输入。名字 (N1)、姓氏 (N2)、附加名字 (N3) 和附加姓氏 (N4)。
现在算法是这样工作的:它连接 N1 + N2 + % 和 N2+ N1 + %。因此,如果用户在任何字段中输入,查询将查找 N1N2% 或 N2N1%。这意味着对于 2 个字段,有 2 个!可能的组合。现在有了 2 个额外的字段,这个算法会爆炸,因为将有 4 个!要检查的组合。任何想法如何解决这个问题?
注意:我们进行这种组合检查是因为用户可以在任何给定的输入字段中输入数据。因此,我们检查所有字段组合。不幸的是,这无法改变。
编辑:我不能假设它以前以这种方式设计的顺序。因此,组合的并发症。
Edit2:我喜欢检查各个部分的想法。但我们想要做的理想是将所有字符串连接在一起并检查 DB 中的子字符串。在 open-sql 中,它使用 like 语句完成。我们的 DB 表已经为 N1+N2 组合存储了这样的连接字符串。现在需要将其扩展到 4 个字段。