У меня проблема с тем, что у меня есть несколько отдельных списков ID, например.
Список (А) 1,2,3,4,5,7,8
Список (Б) 2,3,4,5
Список (С) 4,2,8,9,1
и т.д ...
У меня есть еще одна коллекция удостоверений личности ...
Например: 1,2,4
Мне нужно попробовать сопоставить по одному в каждом списке. Если я смогу идеально сопоставить все идентификаторы в моей вторичной коллекции (один идентификатор коллекции совпадает с идентификатором из каждого списка), тогда я получу истинный результат ....
Я обнаружил, что это становится сложным, потому что если вы просто перебираете списки, соответствующие первой паре коллекция / список, с которой вы сталкиваетесь, это может привести к тому, что вы исключите возможную комбинацию в дальнейшем, что приведет к ложному отрицательному результату.
Например:
Список (А) 1,2,3,4
Список (В) 1,2,3,4
Список (С) 3,4
Коллекция составляет: 3,1,2
Первый идентификатор из коллекции (3) соответствует записи в списке A, второй идентификатор в коллекции (1) соответствует элементу в списке B, однако окончательный идентификатор в коллекции (2) НЕ СООТВЕТСТВУЕТ любой записи однако в списке C, если вы измените порядок коллекции на: 2,1,3, то совпадение будет найдено ... Поэтому я ищу какую-то логику для эффективного сопоставления всех возможных комбинаций (?)
Чтобы сделать его более сложным, идентификаторы на самом деле являются GUID, поэтому их нельзя просто отсортировать в порядке возрастания
Надеюсь, я описал это достаточно хорошо, чтобы прояснить, что я пытаюсь сделать, и, если повезет, кто-нибудь сможет сказать мне, что мне нужно сделать очень легко, и я упускаю что-то очень простое!
Я вынужден кодировать это в VB6, но любые методы или псевдокод будут хороши. Бэкэндом этого является SQL-сервер, поэтому, если бы было возможно решение с использованием TSQL, это было бы еще лучше, поскольку все идентификаторы уже содержатся в таблицах.
Заранее большое спасибо.