我有一个问题,我有几个离散的 ID 列表,例如。
列表 (A) 1,2,3,4,5,7,8
列表 (B) 2,3,4,5
列表 (C) 4,2,8,9,1
等...
然后我有另一个 ID 集合...
例如:1,2,4
我需要尝试将一个匹配到每个列表中。如果我可以完美匹配辅助集合中的所有 ID(一个集合 ID 与每个列表中的一个 ID 匹配),那么我会得到一个真实的结果......
我发现它变得复杂,因为如果您只是遍历与遇到的第一个集合/列表对匹配的列表,它可能会导致您排除可能的组合,从而返回错误的否定结果。
例如:
列表 (A) 1,2,3,4
列表 (B) 1,2,3,4
列表 (C) 3,4
收藏为:3,1,2
集合 (3) 中的第一个 ID 与列表 A 中的条目匹配,集合中的第二个 ID (1) 与列表 B 中的项目匹配,但是集合 (2) 中的最终 ID 不匹配列表 C 中的任何条目但是,如果您将集合的顺序重新排列为:2,1,3,则找到匹配项....因此,我正在寻找某种形式的逻辑,以有效地尝试对所有可能的组合进行匹配(?)
为了使其更复杂,ID 实际上是 GUID,因此不能仅按升序排序
我希望我已经很好地描述了这一点,以清楚地说明我正在尝试什么,并且如果运气好的话,有人能够告诉我我需要做的事情非常简单,我错过了一些真正简单的事情!
我被迫在 VB6 中对此进行编码,但任何方法或伪代码都会很棒。它的后端是 SQL 服务器,所以如果使用 TSQL 的解决方案是可能的,这会更好,因为所有的 ID 都已经保存在表中。
提前谢谢了。