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