Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2019, 20:35   #1
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию SQL обновление данных столбца таблицы из другой таблицы

Доброе время суток форумчане,
Есть такой запрос (firebird3.0):
Код:
select dateadd(day, 30, DEV_FROM_CLIENT_DATE) as DATE_FROM_CLIENT, DEVICE_ID from table1 where PROPOSAL_ID = 30
которое выдает два поля DATE_FROM_CLIENT, DEVICE_ID (в несколько строк), в котором DEVICE_ID = ID таблицы table2

в таблице table2, есть поле DATE2, которое нужно обновить данными из полученного DATE_FROM_CLIENT, где соответственно table1.DEVICE_ID = table2.ID, а также в table 2 есть поле table2.PROPOSAL_ID = table1.PROPOSAL_ID

должно получится что-то наподобее,
Код:
Update table2 d
set d.DATE2 =
(select dr.DEV_FROM_CLIENT_DATE from table1 dr where PROPOSAL_ID = 30)
where d.ID=dr.DEVICE_ID
только данный запрос некорректен

P.S.:
данный запрос буде выполняться в строенной процедуре

Спасибо за ответ

Последний раз редактировалось KBO; 10.03.2019 в 20:47.
KBO вне форума Ответить с цитированием
Старый 10.03.2019, 20:48   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Дык и пиши сразу что за субд. По разному в разных. А запрос не корректен вполне по очевидным причинам )
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 10.03.2019, 20:50   #3
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

Извиняюсь, уже дополнил вопрос, - Firebird3.0
KBO вне форума Ответить с цитированием
Старый 10.03.2019, 20:53   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

http://www.ibase.ru/updsame/
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 10.03.2019, 21:55   #5
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

Да, пришлось воспользоваться "for", ничего не поделаеш...
Код:
if (:IN_DEVICE_ID = -1) then
    begin
      for
        select ID, DEV_FROM_CLIENT_DATE
          from table1
            where DEV_FROM_CLIENT_DATE is not null
              into :VAR_ID, :VAR_FROM_CLIENT_DATE
      do
        update table2
          set DAY_RETURN = dateadd(day, :VAR_ADD_DAY, :VAR_FROM_CLIENT_DATE)
            where ID = :VAR_ID;
    end
Еще раз спасибо
KBO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос данных из одного листа одной таблицы в создаваемые листы другой таблицы zlotaust Microsoft Office Excel 5 25.06.2016 14:14
При копировании столбца из другой таблицы макрос перестает работать panych Microsoft Office Excel 7 29.09.2014 13:31
Алиас столбца как одно из значений из другой таблицы. FatalLight SQL, базы данных 3 05.12.2013 11:57
Запрос: обновление поля таблицы, данные из другой Blondy Microsoft Office Access 2 04.04.2010 15:38
авт. перенос данных из нескольких столбцов одной таблицы в один столбец другой таблицы A_ALL Microsoft Office Access 7 24.08.2009 21:13