У меня есть таблица с ценами, как показано ниже:
PRODUCT_ID PRICE_DATE PRICE LAST_PRICE
BlueLotion 24/08/2018 £10.00 £7.50
BlueLotion 23/08/2018 £10.00 £7.50
BlueLotion 22/08/2018 £10.00 £7.50
BlueLotion 21/08/2018 £7.50 £6.50
BlueLotion 20/08/2018 £7.50 £6.50
BlueLotion 19/08/2018 £7.50 £6.50
BlueLotion 17/08/2018 £6.50 £7.50
BlueLotion 16/08/2018 £6.50 £7.50
BlueLotion 13/08/2018 £6.50 £7.50
BlueLotion 12/08/2018 £7.50 NULL
BlueLotion 11/08/2018 £7.50 NULL
BlueLotion 10/08/2018 £7.50 NULL
Мне нужна помощь в написании запроса для каждой записи Дата последней цены.Например, в строке данных 1 последняя цена BlueLotion равна 7,5, и эта цена была последней на месте 21/08/2018
Поэтому набор результатов будет выглядеть примерно так:
PRODUCT_ID PRICE_DATE PRICE LAST_PRICE DATE_WITH_PREV_RATE
BlueLotion 24/08/2018 £10.00 £7.50 21/08/2018
BlueLotion 23/08/2018 £10.00 £7.50 21/08/2018
BlueLotion 22/08/2018 £10.00 £7.50 21/08/2018
BlueLotion 21/08/2018 £7.50 £6.50 17/08/2018
BlueLotion 20/08/2018 £7.50 £6.50 17/08/2018
BlueLotion 19/08/2018 £7.50 £6.50 17/08/2018
BlueLotion 17/08/2018 £6.50 £7.50 12/08/2018
BlueLotion 16/08/2018 £6.50 £7.50 12/08/2018
BlueLotion 13/08/2018 £6.50 £7.50 12/08/2018
BlueLotion 12/08/2018 £7.50 NULL NULL
BlueLotion 11/08/2018 £7.50 NULL NULL
BlueLotion 10/08/2018 £7.50 NULL NULL
Чтобы помочь с примером, см. Приведенный ниже скрипт для создания таблицы.
create table COMP_RESULTS (product_id varchar2(20), price_date date, product_price number, last_price number);
insert into comp_results values ('BlueLotion',DATE '24 AUG 2018','10','7.5');
insert into comp_results values ('BlueLotion',DATE '23 AUG 2018','10','7.5');
insert into comp_results values ('BlueLotion',DATE '22 AUG 2018','10','7.5');
insert into comp_results values ('BlueLotion',DATE '21 AUG 2018','7.5','6.5');
insert into comp_results values ('BlueLotion',DATE '20 AUG 2018','7.5','6.5');
insert into comp_results values ('BlueLotion',DATE '19 AUG 2018','7.5','6.5');
insert into comp_results values ('BlueLotion',DATE '18 AUG 2018','6.5','7.5');
insert into comp_results values ('BlueLotion',DATE '17 AUG 2018','6.5','7.5');
insert into comp_results values ('BlueLotion',DATE '15 AUG 2018','6.5','7.5');
insert into comp_results values ('BlueLotion',DATE '14 AUG 2018','7.5',NULL);
insert into comp_results values ('BlueLotion',DATE '13 AUG 2018','7.5',NULL);
insert into comp_results values ('BlueLotion',DATE '12 AUG 2018','7.5',NULL);
Примечание. В таблице представлены различные продукты, а не только BlueLotion.