Answer:
select od.productid,
od.orderid,
o.orderdate,
sum(od.quantity * p.price) over (partition by od.productid
order by o.orderdate rows between unbounded preceding and current row) as runningtotal
from orderdetails od
join orders o on od.orderid = o.orderid
join products p on od.productid = p.productid;