Я хочу сравнить, есть ли дубликаты в 4 полях в открытом SQL.
Сценарий: у пользователя есть 4 поля для ввода. Имя (N1), фамилия (N2), дополнительное имя (N3) и дополнительная фамилия (N4).
Прямо сейчас алгоритм работает следующим образом: он объединяет N1 + N2 + %, а затем также N2 + N1 + %. Таким образом, если пользователь вводит данные в любое из полей, запрос ищет N1N2% или N2N1%. Это означает, что для 2 полей их 2! возможны комбинации. Теперь с 2 дополнительными полями этот алгоритм взрывается, так как их будет 4! комбинации для проверки. Любые идеи, как решить эту проблему?
Примечание. Мы выполняем такую проверку комбинации, потому что пользователь может вводить данные в любое из указанных полей ввода. Итак, мы проверяем все комбинации полей. К сожалению, это нельзя изменить.
РЕДАКТИРОВАТЬ: я не могу принять заказ, поскольку он был ранее разработан таким образом. Отсюда и сложности с комбинациями.
Edit2: мне нравится идея проверки отдельных частей. Но в идеале мы хотим объединить все строки вместе и проверить наличие подстроки в БД. В open-sql это делается с помощью аналогичного оператора. В нашей таблице БД такая составная строка уже сохранена для комбинации N1+N2. Теперь это нужно расширить на 4 поля.
N1 IN ('N1', 'N2', 'N3', 'N4') AND N2 IN ('N1', 'N2', 'N3', 'N4') AND N3 IN ('N1', 'N2', 'N3', 'N4') AND N4 IN ('N1', 'N2', 'N3', 'N4')
? - person Jagger   schedule 01.06.2016