|
обновить записи в таблице данными из другой, совпадающие по Like
|
|||
---|---|---|---|
#18+
Добрый день. Задача вроде простая - но не уверен что ее возможно решить только с помощью запроса. С помощью перебора макросом - без проблем. но не красиво и лишние действия. есть две таблицы. Одна имеет вид ФИО Имя Бойчура Николай Степанович Николай Охрименко Алексей Охрименко Алексей вторая - просто перечень имен. Нужно чтобы в первой таблице в поле Имя вписалось взятое из ФИО - при условии что оно есть во второй таблице. Буду благодарен если подскажете возможно ли вообще такое и как так сделать, если возможно. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2019, 18:34 |
|
обновить записи в таблице данными из другой, совпадающие по Like
|
|||
---|---|---|---|
#18+
Nezar, Что-то непонятно. В первой таблице два поля: ФИО и Имя Заполнено только ФИО ? А Имя сейчас пустое, его надо заполнить из второй таблицы при условие что оно там есть? А если во второй таблице его нет - то что? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2019, 18:42 |
|
обновить записи в таблице данными из другой, совпадающие по Like
|
|||
---|---|---|---|
#18+
Nezar, Nz + Like ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2019, 19:24 |
|
обновить записи в таблице данными из другой, совпадающие по Like
|
|||
---|---|---|---|
#18+
ИВПNezar, Что-то непонятно. В первой таблице два поля: ФИО и Имя Заполнено только ФИО ? А Имя сейчас пустое, его надо заполнить из второй таблицы при условие что оно там есть? А если во второй таблице его нет - то что? да, немного по дурацки объяснил все верно. а если нет - то ничего. вообще задача повытаскивать из ФИО имена. но т.к. там не всегда полное ФИО и не всегда один и тот же порядок написания -то в голову пришло только сравнивать с таблицей имен. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2019, 19:38 |
|
обновить записи в таблице данными из другой, совпадающие по Like
|
|||
---|---|---|---|
#18+
vmagNezar, Nz + Like спасибо конечно. про Like я писал. в Nz вроде пока нет необходимости. поэтому вопрос - как Это помогает мне решить мою проблему? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2019, 19:41 |
|
обновить записи в таблице данными из другой, совпадающие по Like
|
|||
---|---|---|---|
#18+
Nezar, В таблице2 присутствуют все существующие имена? Есть ли там, например, ЕЛПЕДИФОР (старинное русское имя) или Васисуалий? Бикинду Пембет Блондел Хорес - вот такая студентка учится в российском вузе. Как тут быть? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2019, 20:23 |
|
обновить записи в таблице данными из другой, совпадающие по Like
|
|||
---|---|---|---|
#18+
ИВПNezar, В таблице2 присутствуют все существующие имена? Есть ли там, например, ЕЛПЕДИФОР (старинное русское имя) или Васисуалий? Бикинду Пембет Блондел Хорес - вот такая студентка учится в российском вузе. Как тут быть? конечно же нет. думаю это не реально. просто если не найдет - то внесу ручками или на кнопку повешу. вероятность такого - не большая, поэтому не критично. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2019, 20:50 |
|
обновить записи в таблице данными из другой, совпадающие по Like
|
|||
---|---|---|---|
#18+
Nezarно т.к. там не всегда полное ФИО и не всегда один и тот же порядок написания -то в голову пришло только сравнивать с таблицей имен.Не понятно какая при этом решается задача(может при другом подходе она элементарна). Как быть с одним из основных правил "базостроения"(нарушая их,иногда, не возможно добиться желаемого результата)-поле должно содержать минимальную единицу информации: ФИО это не одно поле а целых три:фамилия,имя,отчество.Таблица имен (а зачем она нужна)-не понятно,однако.Nezar....просто если не найдет - то внесу ручками или на кнопку повешу. вероятность такого - не большая, поэтому не критично.А может просто иметь таблицу клиентов (сотрудников и т.п.) и подчиненную ей заказы(ведомость,накладная и т.п) в которую вносить код таблицы со стороны 1-как, обычно, и делается ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2019, 23:50 |
|
обновить записи в таблице данными из другой, совпадающие по Like
|
|||
---|---|---|---|
#18+
sdkuНе понятно какая при этом решается задача(может при другом подходе она элементарна). Как быть с одним из основных правил "базостроения"(нарушая их,иногда, не возможно добиться желаемого результата)-поле должно содержать минимальную единицу информации: ФИО это не одно поле а целых три:фамилия,имя,отчество.Таблица имен (а зачем она нужна)-не понятно,однако. я вроде описал выше задачу. повторюсь. "вообще задача повытаскивать из ФИО имена. но т.к. там не всегда полное ФИО и не всегда один и тот же порядок написания -то в голову пришло только сравнивать с таблицей имен." посему ну вообще не понял к чему вы это написали )) извините. sdkuА может просто иметь таблицу клиентов (сотрудников и т.п.) и подчиненную ей заказы(ведомость,накладная и т.п) в которую вносить код таблицы со стороны 1-как, обычно, и делается Это точно ответ на вопрос этой темы? )) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2019, 11:19 |
|
обновить записи в таблице данными из другой, совпадающие по Like
|
|||
---|---|---|---|
#18+
NezarОдна имеет вид ФИО Имя А Вы слышали что-нибудь про излишествующие данные? Nezarя вроде описал выше задачу. повторюсь. "вообще задача повытаскивать из ФИО имена.Это не описание задачи,а описание того как Вы криво пытаетесь решить неведомую задачу при неправильно спроектированной таблице (при правильно спроектированной,из 3 полей,таблице имена из неё извлекаются простейшим запросом-даже извлекать не надо,а просто сгруппировать данные поля [имя])Nezar...Это точно ответ на вопрос этой темы? ))Да (более точно и конкретно можно ответить зная решаемую задачу) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2019, 12:23 |
|
обновить записи в таблице данными из другой, совпадающие по Like
|
|||
---|---|---|---|
#18+
sdku, вроде много постов , а ответы ну вообще не о чем. Вы пытаетесь к примитивной таблице привязать какую то свою высшую материю, которая не имеет ну никакого отношения к моей поставленной задаче. я не знаю как Вам нужно объяснить что у меня есть таблица с Двумя полями. где ФИО в Одном поле. да такое бывает - в таком виде выдает данные АПИ службы доставки. А в поле Имя нужно каким либо способом внести имя из ФИО. мой способ я описал. Вы считаете его кривым? Возможно, тем более я сам про это говорил. Но я другого не знаю. Впрочем как и Вы, видимо. и нет там ни подчиненных таблиц ни ведомостей ни чего то другого, что Вы пытаетесь почему то сюда привязать. поэтому если Вы до сих пор не смогли понять даже задачу - то смиритесь. или игнорьте эту тему, как Вам больше нравится. я не обижусь, и тем более не расстроюсь. Т.к. вижу что видимо это сложно для Вас. п.с. "вообще задача повытаскивать из ФИО имена." - Вы мило процитировали эту фразу и сказали что это не описание задачи, а описание решения. Что, серьезно? )) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2019, 13:24 |
|
обновить записи в таблице данными из другой, совпадающие по Like
|
|||
---|---|---|---|
#18+
Nezar, Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2019, 14:42 |
|
обновить записи в таблице данными из другой, совпадающие по Like
|
|||
---|---|---|---|
#18+
__Michelle, Спасибо! То что надо ) ...Нужно поучить sql... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2019, 14:53 |
|
обновить записи в таблице данными из другой, совпадающие по Like
|
|||
---|---|---|---|
#18+
Nezar, Но это ненадежный способ. Если в первой таблице будут отчества типа Иван ович, Олег ович, Степан ович, ..., то есть начало отчества будет точно совпадать с имеюшимся во второй таблице именем, то высока вероятность, что приклеится именно это имя, а не настоящее. То же самое касается и фамилий, начала которых совпадают с именами во второй таблице, Иван ов и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2019, 14:57 |
|
обновить записи в таблице данными из другой, совпадающие по Like
|
|||
---|---|---|---|
#18+
__Michelle, Да, я там немного подправил и теперь все гуд. По крайней мере визуально не нашел ошибок Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2019, 15:22 |
|
обновить записи в таблице данными из другой, совпадающие по Like
|
|||
---|---|---|---|
#18+
Nezarтеперь все гуд Сомневаюсь, что все. А если отчества нет, откуда пробел конечный возьмется? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2019, 15:28 |
|
обновить записи в таблице данными из другой, совпадающие по Like
|
|||
---|---|---|---|
#18+
__Michelle, Надо находить первый пробел в ФИО и от него смотреть имя ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2019, 15:30 |
|
обновить записи в таблице данными из другой, совпадающие по Like
|
|||
---|---|---|---|
#18+
ИВП, Нет. Имени тоже может не быть. Или фамилии. Надо так: Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2019, 15:34 |
|
обновить записи в таблице данными из другой, совпадающие по Like
|
|||
---|---|---|---|
#18+
__MichelleИВП, Нет. Имени тоже может не быть. Или фамилии. Надо так: Код: sql 1. 2.
так я же так и сделал )) UPDATE Заказы INNER JOIN Имена ON " " & Заказы.ФИО & " " Like "* " & Имена.Имена & " *" SET Заказы.Имя = Имена.Имена; ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2019, 15:49 |
|
обновить записи в таблице данными из другой, совпадающие по Like
|
|||
---|---|---|---|
#18+
ИВП__Michelle, Надо находить первый пробел в ФИО и от него смотреть имя не подходит, потому что иногда имя идет первым, а потом фамилия. там вообще данные приходят дико намешанные ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2019, 15:50 |
|
обновить записи в таблице данными из другой, совпадающие по Like
|
|||
---|---|---|---|
#18+
Nezarтак я же так и сделал )) Простите, не заметила, что к ФИО тоже пробелы приделаны " " & Заказы.ФИО & " ". Все верно.))) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2019, 16:03 |
|
обновить записи в таблице данными из другой, совпадающие по Like
|
|||
---|---|---|---|
#18+
Nezarне подходит, потому что иногда имя идет первым, а потом фамилия. там вообще данные приходят дико намешанныеА такие данные надо ПОДГОТАВЛИВАТЬ к экспорту т.к. иначе нужен искусственный интеллект,который еще не придумали....Если же пользоваться доступными методами результат на 100% верный ,в силу "намешанных" данных и не предусмотренных случаев,типа двойного имени у иностранцев(а может и граждан России),совпадение начальных букв отчества и имени и т.д и т.п-все предусмотреть весьма проблематично,не удастся.А надеяться на "авось"-не наш метод ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2019, 16:09 |
|
обновить записи в таблице данными из другой, совпадающие по Like
|
|||
---|---|---|---|
#18+
sdkuNezarне подходит, потому что иногда имя идет первым, а потом фамилия. там вообще данные приходят дико намешанныеА такие данные надо ПОДГОТАВЛИВАТЬ к экспорту т.к. иначе нужен искусственный интеллект,который еще не придумали....Если же пользоваться доступными методами результат на 100% верный ,в силу "намешанных" данных и не предусмотренных случаев,типа двойного имени у иностранцев(а может и граждан России),совпадение начальных букв отчества и имени и т.д и т.п-все предусмотреть весьма проблематично,не удастся.А надеяться на "авось"-не наш метод как я уже сказал - эти данные выдает почта, к которой я вообще никакого отношения не имею. а народ когда формы почтовые заполняет иногда вместо имени и номер телефона может влепить и адрес. но на все это я никак повлиять не могу. мне поступают голые данные, одной строкой. и даже если бы изначально ФИО билось на три поля - это бы не было гарантией что в поле Имя будет именно имя, а не что то другое. Нестандартные имена редко попадаются. поэтому не проблема внести в таблицу в ручную. с возникновением ошибок, будет уменьшаться количество ошибок )) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2019, 16:28 |
|
обновить записи в таблице данными из другой, совпадающие по Like
|
|||
---|---|---|---|
#18+
sdku....Если же пользоваться доступными методами результат на 100% верный ....получить не удастся.Ваша проблема не в том чтоб сравнить данные двух таблиц, а в том чтоб выделить имя из "мешанины"-лично я не вижу решения этой задачи кроме как вручную готовить данные ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2019, 17:00 |
|
обновить записи в таблице данными из другой, совпадающие по Like
|
|||
---|---|---|---|
#18+
sdkusdku....Если же пользоваться доступными методами результат на 100% верный ....получить не удастся.Ваша проблема не в том чтоб сравнить данные двух таблиц, а в том чтоб выделить имя из "мешанины"-лично я не вижу решения этой задачи кроме как вручную готовить данные не страшно ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2019, 17:38 |
|
|
start [/forum/topic.php?fid=45&msg=39839691&tid=1610578]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
others: | 313ms |
total: | 462ms |
0 / 0 |