Прежде всего, я не очень хорошо разбираюсь в DB2 SQL.
У меня есть TABLE и TABLE B. TABLE содержит данные последней модификации, в то время как TABLE B содержит историю данных / запись трека из таблицы TABLE.A.
Я хочу обновить столбец TABLEA.LAST_PRICE (с условиями DEAL_DATE = '1753-01-01' и CODE <> ''), заполненный TABLEB.LAST_PRICE (с условием DEAL_DATE <> '1753-01-01' и CODE <> '' и порядком по CHANGE_DATE desc limit 1), где внешний ключ для двух таблиц - TABLEA.ID = TABLEB.ID
Я пытался обновить TABLEA с помощью следующих 3 SQL , но так и не получилось:
1. update DB.TABLEA as a set a.LAST_PRICE = (select LAST_PRICE from
DB.TABLEB as b where b.DEAL_DATE <> '1753-01-01' and a.ID = b.ID and
b.CODE <> '' order by b.CHANGE_DATE desc FETCH FIRST 1 ROWS ONLY)
where a.DEAL_DATE = '1753-01-01' and a.CODE <> '' ;
2. update DB.TABLEA as a set a.LAST_PRICE = (select LAST_PRICE from
DB.TABLEB as b where b.DEAL_DATE <> '1753-01-01' and a.ID = b.ID and
b.CODE <> '' order by b.CHANGE_DATE desc limit 1) where a.DEAL_DATE = '1753-01-01' and a.CODE <> '' ;
3. update DB.TABLEA set a.LAST_PRICE = b.LAST_PRICE from DB.TABLEA a
join DB.TABLEB b on a.ID = b.ID where a.DEAL_DATE = '1753-01-01'
and a.CODE <> '' and b.DEAL_DATE <> '1753-01-01' and b.CODE <> ''
order by b.CHANGE_DATE desc FETCH FIRST 1 ROWS ONLY;
Я схожу с ума от этого запроса.Спасибо за любую помощь.