Unabe для обновления данных текущей строки с данными в предыдущей строке

Может ли кто-нибудь помочь мне в приведенном ниже исполнении:

Я хочу обновить столбцы RACF_ID и SUPV_RACF из date_value 8-JAN-2018 с данными в столбцах RAC_ID и SUPV_RACF из date_value 01-JAN-2018. По сути, я хочу обновить данные определенного значения даты до данных, представленных в date_value за неделю до этого.(Date_value - 7). Следует обновлять только строки со столбцом ffective_dt как нулевым.

Ниже приведен запрос, который я попытался, но не смог получить вывод: объявить курсор C1

select * from temp_join;
begin
for i in C1
Loop
update temp_join r 
set r.RACF_ID = i.RACF_ID ,
r.SUPV_RACF = i.SUPV_RACF   
where  to_date(r.date_value , 'dd-mon-yyyy') = to_date(i.date_value , 'dd-mon-yyyy') -7 and
to_date(r.date_value , 'dd-mon-yyyy') > to_date('01-JAN-2018' , 'dd-mon-yyyy') and R.Effective_Dt is null ;
end Loop;
end;

Ниже изображения покажут:

Текущий сценарий стола

Текущий сценарий стола

Желаемый вывод

Желаемый вывод

Я попытался самостоятельно присоединиться также:

update temp_join r
   set (r.racf_id, r.supv_racf) =
          (select i.racf_id, i.supv_racf i
             from temp_join i
            where    i.racf_id = r.racf_id                       --> remark A
                  and to_date(r.date_value , 'dd-mon-yyyy') = to_date(i.date_value , 'dd-mon-yyyy') -7
                  )  --> remark B
 where     to_date(r.date_value , 'dd-mon-yyyy') > to_date('01-JAN-2018' , 'dd-mon-yyyy')
 and to_date(r.date_value , 'dd-mon-yyyy') < to_date('05-MAR-2018' , 'dd-mon-yyyy')
       and r.effective_dt is null;

Но приведенный выше запрос также не дает желаемого результата

0 ответов

Другие вопросы по тегам