Обновить столбец определенным старым и новым значением в 1 столбце

введите описание изображения здесь

Это таблица журнала. Все измененные значения карт сохранены в этой таблице. Теперь я добавляю столбец для вставки старых значений карты, проблема в которой я хочу сделать в коде - это процедура сканирования таблицы, но старое значение в новом столбце., Что такое старое значение, старое значение - это то же самое значение, что карта не дублируется, тогда она не имеет старых значений, но если она дублируется, поэтому существует старое значение, то изображение, которое я загружаю, определяет, что я хочу сделать, спасибо за помощь:)

1 ответ

Решение

Это должно указать вам правильное направление, чтобы увидеть, как можно отследить предыдущее значение (я предполагаю, что поле временной метки, называемое TS, отслеживает порядок экземпляров для данного кода карты. Вам нужно будет выполнить настройку в соответствии с вашей моделью данных). вам просто нужно создать вокруг него обновление, установив total_number_o для заданного card_Code и TS.

with tab as ( 
          select 101012172583 card_code, '005' total_number, sysdate ts from dual
union all select 101012172583 card_code, '006' total_number, sysdate-1/12 ts  from dual
union all select 101012172583 card_code, '003' total_number, sysdate-2/12 ts  from dual
union all select 101012172583 card_code, '003' total_number, sysdate-3/12 ts  from dual
union all select 101012172583 card_code, '005' total_number, sysdate-4/12 ts  from dual
union all select 101012172583 card_code, '004' total_number, sysdate-5/12 ts  from dual
            )
select card_Code
     , total_number
     , lag(total_number) over ( partition by card_code order by ts) total_number_o
     , ts 
from tab order by card_Code, ts desc;     

CARD_CODE                              TOTAL_NUMBER   TOTAL_NUMBER_O   TS                     
101012172583                           "005"          "006"            01/12/2015 3:16:35 PM  
101012172583                           "006"          "003"            01/12/2015 1:16:35 PM  
101012172583                           "003"          "003"            01/12/2015 11:16:35 AM 
101012172583                           "003"          "005"            01/12/2015 9:16:35 AM  
101012172583                           "005"          "004"            01/12/2015 7:16:35 AM  
101012172583                           "004"                           01/12/2015 5:16:35 AM  
Другие вопросы по тегам