Допустим мы формируем запрос к БД на основе полученных параметров(допустим на соответствия 4-ёх полей-назовём из 1,2,3 и 4). А так же формируем пару запросов но на соответствие трёх полей(допустим 1,2,3 и 2,3,4). Заранее мы не знаем какие будут дополнительные запросы сформированы и сколько их. Как выделить общую часть из всех полученных запросов(в данном случае соответствие полей 2,3). Идея в том чтобы снизить количество обращений к БД-т.е. заодно обращение мы считаем все общие условия(2 и 3) а потом устроить проверку на отдельные(1 и 4) из уже отобранных.
И как сформировать код код, который будет выполняться в зависимости от проверяемого поля(т.е. допустим поле не 4 а 5-т.е. проверку надо выполнить определённым образом по полю 5 когда оно есть в запросе, и не выполнить когда его нет).
Примерно так. Может зря я хочу за раз всё считывать а потом уже проверять-может лучше было бы больше запросов но сразу отбирать нужные записи-что было бы быстрее с вашей точки зрения и лучше ? Я неопытен и это просто идея. А вы можете меня отговорить, если считаете что это неоправданно усложняет или замедляет работу(я понимаю что всё зависит от условия, но в целом по вашему мнению что лучше).
Идея сделать отбор рекомендаций-т.е. поиск по 4 параметрам, а рекомендации формируются по совпадению трёх.