假设各表有唯一ID,FID关联父表的ID
D:
select d.ee/d.ff ddbl,d.ID,d.FID from d) dd
C:
(select avg(dd.ddbl) ccbl,c.ID,c.FID from c left join dd on c.id=dd.FID group by c.ID,c.FID) cc
B:
(select avg(cc.ccbl) bbbl,b.ID,b.FID from b left join cc on b.id=cc.FID group by b.ID,b.FID) cc
A:
(select avg(bb.ccbl) aabl,a.ID from a left join bb on a.id=bb.FID group by a.ID)
D:
select d.ee/d.ff ddbl,d.ID,d.FID from d) dd
C:
(select avg(dd.ddbl) ccbl,c.ID,c.FID from c left join dd on c.id=dd.FID group by c.ID,c.FID) cc
B:
(select avg(cc.ccbl) bbbl,b.ID,b.FID from b left join cc on b.id=cc.FID group by b.ID,b.FID) cc
A:
(select avg(bb.ccbl) aabl,a.ID from a left join bb on a.id=bb.FID group by a.ID)
(select avg(bb.bbbl) aabl,a.ID from a left join bb on a.id=bb.FID group by a.ID)
from a p join (select m.pId,avg(n.percent) as percent
from b m join (select pId,avg(y.percent) as percent
from c x join (select pId,(EE/FF) as percent
from d
where FF>0) y on x.id=y.pId
group by x.pId) n on m.id=n.pId) q on a.id=q.PId
group by p.Id
order by percent注意:性能可能不太好
on c.id=dd.FID group by c.ID,c.FID) cc
on b.id=cc.FID group by b.ID,b.FID) bb
on a.id=bb.FID group by a.ID