У нас есть таблица tbl со столбцами Alias, Effective_Date, CVal, CPrice и другой таблицей tblA со столбцами Alias и другим столбцом
Как запросить таблицу tbl для возврата значений из этих 2 строк в 1 строки и внешние соединяют его с другой таблицей tblA (объединенной в столбце псевдонимов):
CVal (NextVal) и CPrice (NextPrice) из строки с Effective_Date на следующую дату после somedate
Значения CVal (SecondVal) и CPrice (SecondPrice) из строки с датой Effective_Date на следующую дату после даты Effective_Date от # 1
Например:
Alias Effective_Date CVal CPrice
A 01-JAN-19 1 100
A 01-JAN-20 2 101
A 01-JAN-21 3 102
A 01-JAN-22 4 103
tblA
Alias OtherColumn
A O1
B O2
Say somedate = '31 -DE C -19 '
Ожидаемый результат
(следующая дата после' 31-DE C -19 'в столбце Effective_Date - 01-JAN-20,
, а следующая дата после этого - 01-JAN-21):
Alias OtherColumn NextVal NextPrice SecondVal SecondPrice
A O1 2 101 3 102
This Приведенный ниже запрос выдает ошибку «tblA». «ALIAS»: неверный идентификатор
select tblA.*, NextVal, NextPrice, SecondVal, SecondPrice from tblA,
(select t.* from
(
lead(CVal, 1) over(order by Effective_Date) as NextVal
,lead(CPrice, 1) over(order by Effective_Date) as NextPrice
,lead(CVal, 2) over(order by Effective_Date) as SecondVal
,lead(CPrice, 2) over(order by Effective_Date) as SecondPrice
from tbl where Effective_Date >= '31-DEC-19' and alias = tblA.alias --> error "tblA"."ALIAS":
invalid identifier
order by Effective_Date ) t
where rownum = 1) tblB
where tblA.alias = tblB.alias(+)
Спасибо