Answer:
select p.productid,
o.orderdate,
od.quantity,
od.unitprice,
lead(od.unitprice, 2) over (partition by p.productid
order by o.orderdate) as futureprice,
lag(od.unitprice, 2) over (partition by p.productid
order by o.orderdate) as pastprice
from orderdetails od
join products p on od.productid = p.productid
join orders o on od.orderid = o.orderid;