Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Обновить таблицу по условию из другой  [new]
kolhoz
Member

Откуда:
Сообщений: 65
Здравствуйте. Есть таблица tmp с полями id, d1, d2. Также есть таблица tmp2 с полем tmpid связаны они по полю tmp.id = tmp2.tmpid

Как обновить в таблице tmp поле d1 только для тех записей, которые есть в tmp2 ?
1 апр 21, 18:17    [22303065]     Ответить | Цитировать Сообщить модератору
 Re: Обновить таблицу по условию из другой  [new]
kolhoz
Member

Откуда:
Сообщений: 65
UPDATE Tmp SET d1 = 'No' WHERE tmp.id = tmp2.tmpid

такой запрос почему-то обновляет малую часть лишь 10 записей из Tmp у которых одинаковый id
1 апр 21, 18:19    [22303067]     Ответить | Цитировать Сообщить модератору
 Re: Обновить таблицу по условию из другой  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7919
В указанном синтаксисе Вы используете только одну (текущую) запись из таблицы tmp2. Соответственно, и обновляются не все записи

Если у Вас версия младше VFP9, то через Update-SQL не получится. Но есть варианты как сделать. А для версии VFP9 надо по другому

UPDATE tmp ;
SET d1 = 'No' ;
FROM Tmp2 ;
WHERE tmp2.tmpid = tmp.id


Т.е. у Вас "FROM tmp2" пропущено
1 апр 21, 20:10    [22303105]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить