powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / обновить записи в таблице данными из другой, совпадающие по Like
25 сообщений из 27, страница 1 из 2
обновить записи в таблице данными из другой, совпадающие по Like
    #39839607
Nezar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Задача вроде простая - но не уверен что ее возможно решить только с помощью запроса.
С помощью перебора макросом - без проблем. но не красиво и лишние действия.

есть две таблицы.
Одна имеет вид

ФИО Имя

Бойчура Николай Степанович Николай
Охрименко Алексей Охрименко Алексей

вторая - просто перечень имен.

Нужно чтобы в первой таблице в поле Имя вписалось взятое из ФИО - при условии что оно есть во второй таблице.

Буду благодарен если подскажете возможно ли вообще такое и как так сделать, если возможно.
Спасибо.
...
Рейтинг: 0 / 0
обновить записи в таблице данными из другой, совпадающие по Like
    #39839608
ИВП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nezar,
Что-то непонятно.
В первой таблице два поля: ФИО и Имя
Заполнено только ФИО ?
А Имя сейчас пустое, его надо заполнить из второй таблицы при условие что оно там есть?
А если во второй таблице его нет - то что?
...
Рейтинг: 0 / 0
обновить записи в таблице данными из другой, совпадающие по Like
    #39839612
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nezar,

Nz + Like
...
Рейтинг: 0 / 0
обновить записи в таблице данными из другой, совпадающие по Like
    #39839613
Nezar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИВПNezar,
Что-то непонятно.
В первой таблице два поля: ФИО и Имя
Заполнено только ФИО ?
А Имя сейчас пустое, его надо заполнить из второй таблицы при условие что оно там есть?
А если во второй таблице его нет - то что?
да, немного по дурацки объяснил
все верно.
а если нет - то ничего.
вообще задача повытаскивать из ФИО имена.
но т.к. там не всегда полное ФИО и не всегда один и тот же порядок написания -то в голову пришло только сравнивать с таблицей имен.
...
Рейтинг: 0 / 0
обновить записи в таблице данными из другой, совпадающие по Like
    #39839615
Nezar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagNezar,

Nz + Like
спасибо конечно.
про Like я писал. в Nz вроде пока нет необходимости.
поэтому вопрос - как Это помогает мне решить мою проблему?
...
Рейтинг: 0 / 0
обновить записи в таблице данными из другой, совпадающие по Like
    #39839617
ИВП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nezar,
В таблице2 присутствуют все существующие имена?
Есть ли там, например, ЕЛПЕДИФОР (старинное русское имя) или Васисуалий?
Бикинду Пембет Блондел Хорес - вот такая студентка учится в российском вузе. Как тут быть?
...
Рейтинг: 0 / 0
обновить записи в таблице данными из другой, совпадающие по Like
    #39839618
Nezar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИВПNezar,
В таблице2 присутствуют все существующие имена?
Есть ли там, например, ЕЛПЕДИФОР (старинное русское имя) или Васисуалий?
Бикинду Пембет Блондел Хорес - вот такая студентка учится в российском вузе. Как тут быть?
конечно же нет.
думаю это не реально.
просто если не найдет - то внесу ручками или на кнопку повешу.
вероятность такого - не большая, поэтому не критично.
...
Рейтинг: 0 / 0
обновить записи в таблице данными из другой, совпадающие по Like
    #39839636
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nezarно т.к. там не всегда полное ФИО и не всегда один и тот же порядок написания -то в голову пришло только сравнивать с таблицей имен.Не понятно какая при этом решается задача(может при другом подходе она элементарна).
Как быть с одним из основных правил "базостроения"(нарушая их,иногда, не возможно добиться желаемого результата)-поле должно содержать минимальную единицу информации: ФИО это не одно поле а целых три:фамилия,имя,отчество.Таблица имен (а зачем она нужна)-не понятно,однако.Nezar....просто если не найдет - то внесу ручками или на кнопку повешу.
вероятность такого - не большая, поэтому не критично.А может просто иметь таблицу клиентов (сотрудников и т.п.) и подчиненную ей заказы(ведомость,накладная и т.п) в которую вносить код таблицы со стороны 1-как, обычно, и делается
...
Рейтинг: 0 / 0
обновить записи в таблице данными из другой, совпадающие по Like
    #39839665
Nezar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdkuНе понятно какая при этом решается задача(может при другом подходе она элементарна).
Как быть с одним из основных правил "базостроения"(нарушая их,иногда, не возможно добиться желаемого результата)-поле должно содержать минимальную единицу информации: ФИО это не одно поле а целых три:фамилия,имя,отчество.Таблица имен (а зачем она нужна)-не понятно,однако.

я вроде описал выше задачу. повторюсь.
"вообще задача повытаскивать из ФИО имена.
но т.к. там не всегда полное ФИО и не всегда один и тот же порядок написания -то в голову пришло только сравнивать с таблицей имен."
посему ну вообще не понял к чему вы это написали )) извините.

sdkuА может просто иметь таблицу клиентов (сотрудников и т.п.) и подчиненную ей заказы(ведомость,накладная и т.п) в которую вносить код таблицы со стороны 1-как, обычно, и делается

Это точно ответ на вопрос этой темы? ))
...
Рейтинг: 0 / 0
обновить записи в таблице данными из другой, совпадающие по Like
    #39839671
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NezarОдна имеет вид

ФИО Имя


А Вы слышали что-нибудь про излишествующие данные?
Nezarя вроде описал выше задачу. повторюсь.
"вообще задача повытаскивать из ФИО имена.Это не описание задачи,а описание того как Вы криво пытаетесь решить неведомую задачу при неправильно спроектированной таблице
(при правильно спроектированной,из 3 полей,таблице имена из неё извлекаются простейшим запросом-даже извлекать не надо,а просто сгруппировать данные поля [имя])Nezar...Это точно ответ на вопрос этой темы? ))Да (более точно и конкретно можно ответить зная решаемую задачу)
...
Рейтинг: 0 / 0
обновить записи в таблице данными из другой, совпадающие по Like
    #39839674
Nezar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,

вроде много постов , а ответы ну вообще не о чем.

Вы пытаетесь к примитивной таблице привязать какую то свою высшую материю, которая не имеет ну никакого отношения к моей поставленной задаче.

я не знаю как Вам нужно объяснить что у меня есть таблица с Двумя полями. где ФИО в Одном поле. да такое бывает - в таком виде выдает данные АПИ службы доставки. А в поле Имя нужно каким либо способом внести имя из ФИО.
мой способ я описал. Вы считаете его кривым? Возможно, тем более я сам про это говорил. Но я другого не знаю. Впрочем как и Вы, видимо.
и нет там ни подчиненных таблиц ни ведомостей ни чего то другого, что Вы пытаетесь почему то сюда привязать.

поэтому если Вы до сих пор не смогли понять даже задачу - то смиритесь. или игнорьте эту тему, как Вам больше нравится.

я не обижусь, и тем более не расстроюсь. Т.к. вижу что видимо это сложно для Вас.

п.с. "вообще задача повытаскивать из ФИО имена." - Вы мило процитировали эту фразу и сказали что это не описание задачи, а описание решения. Что, серьезно? ))
...
Рейтинг: 0 / 0
обновить записи в таблице данными из другой, совпадающие по Like
    #39839678
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nezar,

Код: sql
1.
UPDATE Таблица1 INNER JOIN Таблица2 ON Таблица1.ФИО Like "*" & Таблица2.Имя & "*" SET Таблица1.Имя = Таблица2.Имя
...
Рейтинг: 0 / 0
обновить записи в таблице данными из другой, совпадающие по Like
    #39839679
Nezar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle,

Спасибо! То что надо )

...Нужно поучить sql...
...
Рейтинг: 0 / 0
обновить записи в таблице данными из другой, совпадающие по Like
    #39839680
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nezar,

Но это ненадежный способ.

Если в первой таблице будут отчества типа Иван ович, Олег ович, Степан ович, ...,
то есть начало отчества будет точно совпадать с имеюшимся во второй таблице именем,
то высока вероятность, что приклеится именно это имя, а не настоящее.

То же самое касается и фамилий, начала которых совпадают с именами во второй таблице, Иван ов и т.п.
...
Рейтинг: 0 / 0
обновить записи в таблице данными из другой, совпадающие по Like
    #39839682
Nezar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle,

Да, я там немного подправил и теперь все гуд. По крайней мере визуально не нашел ошибок

Код: sql
1.
UPDATE Заказы INNER JOIN Имена ON " " & Заказы.ФИО & " " Like "* " & Имена.Имена & " *" SET Заказы.Имя = Имена.Имена;
...
Рейтинг: 0 / 0
обновить записи в таблице данными из другой, совпадающие по Like
    #39839683
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nezarтеперь все гуд

Сомневаюсь, что все.
А если отчества нет, откуда пробел конечный возьмется?
...
Рейтинг: 0 / 0
обновить записи в таблице данными из другой, совпадающие по Like
    #39839684
ИВП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle,

Надо находить первый пробел в ФИО и от него смотреть имя
...
Рейтинг: 0 / 0
обновить записи в таблице данными из другой, совпадающие по Like
    #39839685
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИВП,

Нет.
Имени тоже может не быть.
Или фамилии.

Надо так:
Код: sql
1.
2.
UPDATE Таблица1 INNER JOIN Таблица2 ON " " & [Таблица1].[ФИО] & " " Like "* " & [Таблица2].[Имя] & " *" 
SET Таблица1.Имя = [Таблица2].[Имя];
...
Рейтинг: 0 / 0
обновить записи в таблице данными из другой, совпадающие по Like
    #39839687
Nezar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__MichelleИВП,

Нет.
Имени тоже может не быть.
Или фамилии.

Надо так:
Код: sql
1.
2.
UPDATE Таблица1 INNER JOIN Таблица2 ON " " & [Таблица1].[ФИО] & " " Like "* " & [Таблица2].[Имя] & " *" 
SET Таблица1.Имя = [Таблица2].[Имя];



так я же так и сделал ))

UPDATE Заказы INNER JOIN Имена ON " " & Заказы.ФИО & " " Like "* " & Имена.Имена & " *" SET Заказы.Имя = Имена.Имена;
...
Рейтинг: 0 / 0
обновить записи в таблице данными из другой, совпадающие по Like
    #39839688
Nezar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИВП__Michelle,

Надо находить первый пробел в ФИО и от него смотреть имя
не подходит, потому что иногда имя идет первым, а потом фамилия. там вообще данные приходят дико намешанные
...
Рейтинг: 0 / 0
обновить записи в таблице данными из другой, совпадающие по Like
    #39839691
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nezarтак я же так и сделал ))

Простите, не заметила, что к ФИО тоже пробелы приделаны " " & Заказы.ФИО & " ".
Все верно.)))
...
Рейтинг: 0 / 0
обновить записи в таблице данными из другой, совпадающие по Like
    #39839692
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nezarне подходит, потому что иногда имя идет первым, а потом фамилия. там вообще данные приходят дико намешанныеА такие данные надо ПОДГОТАВЛИВАТЬ к экспорту т.к. иначе нужен искусственный интеллект,который еще не придумали....Если же пользоваться доступными методами результат на 100% верный ,в силу "намешанных" данных и не предусмотренных случаев,типа двойного имени у иностранцев(а может и граждан России),совпадение начальных букв отчества и имени и т.д и т.п-все предусмотреть весьма проблематично,не удастся.А надеяться на "авось"-не наш метод
...
Рейтинг: 0 / 0
обновить записи в таблице данными из другой, совпадающие по Like
    #39839693
Nezar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdkuNezarне подходит, потому что иногда имя идет первым, а потом фамилия. там вообще данные приходят дико намешанныеА такие данные надо ПОДГОТАВЛИВАТЬ к экспорту т.к. иначе нужен искусственный интеллект,который еще не придумали....Если же пользоваться доступными методами результат на 100% верный ,в силу "намешанных" данных и не предусмотренных случаев,типа двойного имени у иностранцев(а может и граждан России),совпадение начальных букв отчества и имени и т.д и т.п-все предусмотреть весьма проблематично,не удастся.А надеяться на "авось"-не наш метод

как я уже сказал - эти данные выдает почта, к которой я вообще никакого отношения не имею.
а народ когда формы почтовые заполняет иногда вместо имени и номер телефона может влепить и адрес.
но на все это я никак повлиять не могу. мне поступают голые данные, одной строкой.
и даже если бы изначально ФИО билось на три поля - это бы не было гарантией что в поле Имя будет именно имя, а не что то другое.
Нестандартные имена редко попадаются. поэтому не проблема внести в таблицу в ручную.
с возникновением ошибок, будет уменьшаться количество ошибок ))
...
Рейтинг: 0 / 0
обновить записи в таблице данными из другой, совпадающие по Like
    #39839694
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku....Если же пользоваться доступными методами результат на 100% верный ....получить не удастся.Ваша проблема не в том чтоб сравнить данные двух таблиц, а в том чтоб выделить имя из "мешанины"-лично я не вижу решения этой задачи кроме как вручную готовить данные
...
Рейтинг: 0 / 0
обновить записи в таблице данными из другой, совпадающие по Like
    #39839695
Nezar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdkusdku....Если же пользоваться доступными методами результат на 100% верный ....получить не удастся.Ваша проблема не в том чтоб сравнить данные двух таблиц, а в том чтоб выделить имя из "мешанины"-лично я не вижу решения этой задачи кроме как вручную готовить данные
не страшно
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / обновить записи в таблице данными из другой, совпадающие по Like
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]