Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Синтаксис команды UPDATE [D5, IB6.x, ]


Лена ©   (2002-01-09 08:21:00) 

Пытаюсь сделать обновления в таблице на основе данных из другой таблицы.
В MS SQL это можно сделать, например, так:
UPDATE sostav
SET kol=kol+vrem.kol
FROM sostav inner join vrem on sostav.job_id=vrem.job_id
В IB, по-моему, нет синтаксиса "FROM".
Пробовала так:
UPDATE sostav
SET kol=kol+(select vrem.kol from vrem where sostav.job_id=vrem.job_id)
тоже безрезультатно.
Не подскажете ли, какой правильный синтаксис для этой команды?
P.S. Можно, конечно, сделать цикл по одной таблице и по каждой строке обновлять данные из другой - но это, сами понимаете, не подходит :)
Спасибо.


Лена   (2002-01-09 10:11:00) [1]

Заработало.
UPDATE sostav
SET sostav.kol=sostav.kol+(select vrem.kol from vrem where sostav.job_id=vrem.job_id)
Не пойму, из-за чего раньше не работало - может, потому что я разными способами пробовала и сама запуталась. Всем спасибо за помощь!


roottim   (2002-01-09 09:36:00) [2]

попробуй для проверки поставить вместо
select vrem.kol from vrem where sostav.job_id=vrem.job_id
select max(vrem.kol) from vrem where sostav.job_id=vrem.job_id


Praco   (2002-01-09 09:24:00) [3]

Должно работать. Попробуйте использовать префиксы перед всеми полями.


Alexandr   (2002-01-09 09:12:00) [4]

как это безрезультатно?
чего пишет?
ошибка какая?
или ничего не обновляет и ошибок не выдает?
или как?


Наверх

Титульная страница Поиск, карта сайта Написать письмо