powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / запрос UPDATE
5 сообщений из 5, страница 1 из 1
запрос UPDATE
    #36726659
Ewgeny911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не подскажите такой вопрос. Вроде бы простой но уже два дня никак не получается решить.
есть две таблицы. table1 и table2. по структуре полей одинаковые. Имена полей примерно так:
fam, im, otech, nomer.
Нужно обновить в первой таблице поле nomer, выставив значение из второй таблицы, если
(table1.fam = table2.fam) and (table1.im = table2.im) and (table1.otech = table2.otech)
Во второй таблице вероятно значения полей могут повторятся (т.е. могут встретиться две одинаковые записи) в этом случае взять последнюю. Cделать нужно на фоксе.
...
Рейтинг: 0 / 0
запрос UPDATE
    #36726671
Ewgeny911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотя нет, лучше не так. Лучше выставить поле nomer из второй таблице, если вообще совпадение найдено - хотя бы одно. Если не найдено, то выставить 0.
...
Рейтинг: 0 / 0
запрос UPDATE
    #36729405
SindoMeon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
select table1.fam, table1.im, table1.otech, nvl(t2.nomer,  0 ) as nomer ;
  from table1 ;
    left join (select table2.fam, table2.im, table2.otech, max(table2.nomer) as nomer from table2 group by table2.fam, table2.im, table2.otech) t2 on table1.fam = t2.fam and table1.im = t2.im and table1.otech = t2.otech ;
  into table1
...
Рейтинг: 0 / 0
запрос UPDATE
    #36729408
SindoMeon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SindoMeon
Код: plaintext
1.
2.
3.
4.
select table1.fam, table1.im, table1.otech, nvl(t2.nomer,  0 ) as nomer ;
  from table1 ;
    left join (select table2.fam, table2.im, table2.otech, max(table2.nomer) as nomer from table2 group by table2.fam, table2.im, table2.otech) t2 on table1.fam = t2.fam and table1.im = t2.im and table1.otech = t2.otech ;
  into table1

Это для варианта, если надо подставить в первую максимум из второй. Думаю, как заменить на поиск последнего - получится самостоятельно.
...
Рейтинг: 0 / 0
запрос UPDATE
    #36731078
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / запрос UPDATE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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