![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
UPDATE для всей таблицы [D6, dBase, FoxPro, Paradox]
Yuri Btr © (2002-06-12 12:56:00)Уважаемые мастера, возможно ли такое:
Есть 2 таблицы:
":test:modifyed.dbf" new
":test:original.dbf" old
с полями F1,F0
Мне нужно во всей таблице old приравнять значения поля F1, к значению F1 из new, где new.F0=old.F0
Я пишу следующее:
UPDATE ":test:original.dbf"
SET F1=(SELECT new."F1"
FROM ":test:modifyed.dbf" new, ":test:original.dbf" old
WHERE old."f0"=new."f0")
но как я понял UPDATE...SET позволяет изменять только одну строку. А как мне связать таблицы по полю F0 и приравнять их поля F1
Заранее спасибо.
Johnmen (2002-06-13 12:04:00) [1]http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1023770848&n=1
Fishka (2002-06-13 11:56:00) [2]>но как я понял UPDATE...SET позволяет изменять только одну строку
Неправильно. UPDATE...SET позволяет изменять все строки в таблице. Для изменения только некоторых необходимо условие WHERE.
Yuvich (2002-06-12 14:41:00) [3]Нужно сделать old и new коррелируемыми. Я бы переписал update так:
UPDATE ":test:original.dbf" old
SET F1=(SELECT new."F1"
FROM ":test:modifyed.dbf" new
WHERE old."f0"=new."f0")