oracle sql计算两张表中的数据

                     表A

a b c
1 20161231 100
1 20151231 90
1 20141231 80

                                                表B

d e
20161231 0.04
20151231 0.035
20141231 0.05
20131231 0.04
20121231 0.03
20111231 0.04
20101231 0.03
20091231 0.04
20081231 0.05

现在需要取字段 a b f
f=表A的c字段乘以表B的同一年的前5年e的平均值
如:以表A的第一条记录为例。
f=100*((0.035+0.05+0.04+0.03+0.04)/5)

即2011年到2015的e的平均值

select a.a,
a.b,
(select avg(b.e)
from b
where trunc(b.d, 'yyyy') >= trunc(a.b, 'yyyy') - 5
and trunc(b.d, 'yyyy') < trunc(a.b, 'yyyy')) f
from a

select a.a,
a.b,
(select avg(b.e)*100
from b
where trunc(b.d, 'yyyy') >= trunc(a.b, 'yyyy') - 5
and trunc(b.d, 'yyyy') < trunc(a.b, 'yyyy')) f
from a