Во вложении.

Или дайте наводку каким образом решать.
P.S left джойн не катит; окошки LAG/LEAD тоже не помогут.
Заранее спасибо!
select t_cursum * actual.t_rate res
from carry
full join
(
select t_rate
from currency_rate
where t_date =
(
select max(r.t_date)
from carry c
inner join currency_rate r
on c.t_date >= r.t_date
and c.t_curcode = r.t_curcode
where c.t_date = date'2017-01-08'/*var*/
)
) actual
where t_date = date'2017-01-08'/*var*/;
Сначала дата установки *актуального на дату проводки* курса определяется, потом по ней актуальное значение курса, потом перевод в рубли..