select
ano,
sum
(nvl(dmoney,
0
)) summoney
from
(
select
t2.ano,d.dmoney
from
(
select
t1.
*
,c.cno
from
(
select
a.ano,b.bno
from
t_a a
left
join
t_b b
on
a.ano
=
b.ano
)t1
left
join
t_c c
on
t1.bno
=
c.bno
)t2
left
join
t_d d
on
t2.cno
=
d.cno
)
group
by
ano;

