В Microsoft Access у меня есть запрос uniSelectedContacts и таблица возможных.
Допустим, в возможных у меня есть это:
Smith,John
Dough,John B
Ward,Jane Karon
Eggert,Samantha R
В uniSelectedContacts У меня есть это:
Smith,John A 1552 1st Ave
Dough,John 1111 2st Ave
Ward,Jane K 2222 3st Ave
Eggert,Samantha Rachel 3333 1st Ave
Я хочу найти, где можно узнать имя и фамилию. Однако из-за изменения среднего начального значения, если среднего возможного начального значения нет, я хочу учесть все экземпляры имени и фамилии из uniSelectedContacts с использованием INNER JOIN. Если у возможных вариантов есть средняя инициализация (имя), независимо от ее средней инициалы или имени, я хочу учесть записи, где имя и фамилия uniSelectedContacts и возможные идентичны друг другу, а также где первая буква среднего инициал (имя) uniSelectedContacts соответствует первой букве средней буквы (имя) возможных. Таким образом, в приведенном выше примере это должно быть возвращено:
Smith,John 1552 1st Ave
Dough,John B 1111 2st Ave
Ward,Jane Karon 2222 3st Ave
Eggert,Samantha R 3333 1st Ave
Запрос ниже быстрый, и я хочу сохранить скорость, но
все пропущенные записи будут пропущены (из-за различий в средней букве (имя):
SELECT possibles.fullname,
uniSelectedContacts.addresses,
uniSelectedContacts.cities,
uniSelectedContacts.us_states_and_canada,
uniSelectedContacts.zip_codes INTO PrepareForDuplicateCheck
FROM uniSelectedContacts INNER JOIN possibles ON uniSelectedContacts.TheName = possibles.fullname;
Чтобы попытаться решить проблему выше, у меня есть это:
SELECT possibles.fullname,
uniSelectedContacts.addresses,
uniSelectedContacts.cities,
uniSelectedContacts.us_states_and_canada,
uniSelectedContacts.zip_codes,
possibles.[firstname] AS Expr1,
possibles.[lastname] AS Expr2 INTO PrepareForDuplicateCheck
FROM uniSelectedContacts INNER JOIN possibles ON uniSelectedContacts.TheName = possibles.fullname
WHERE (((possibles.firstname)=Left([fullname],InStr([fullname],",")-1))
AND ((possibles.lastname)=Mid([fullname],InStrRev([fullname],",")+1)));
Вышеприведенное сообщение дает сообщение «Введите значение параметра возможные. Имя_сервера». Но я также не уверен, что основная логика запроса даст ожидаемые результаты.
Спасибо за ответ.