select * from ( select d.bmbh00,d.ZWXM00,a.zycfs0,b.RCS000,lpad(decode(b.rcs000,0,'','','',to_char(round(a.ZYCFS0*100/b.rcs000,4),'999999.99')||'%'),10,' ') ZYCYL0 from (select ysgzh0,count(*) zycfs0 from yf_mzcf00 d where cfzt00 not in ('0','3') and ypdlbh='2' and jzrq00 between '20080501' and '20090501' and not exists (select 1 from ys_brzdxx where ghid00=d.ghid00 and ZDMC00 in ('ÂýÐÔÉöË¥','ÐÄË¥²¡') ) group by ysgzh0) a, (select ysgzh0,count(distinct ghh000) rcs000 from yf_mzcf00 c where cfzt00 not in ('0','3') and jzrq00 between '20080501' and '20090501' and ypdlbh in ('0','2') and not exists (select 1 from ys_brzdxx where ghid00=c.ghid00 and ZDMC00 in ('ÂýÐÔÉöË¥','ÐÄË¥²¡') ) group by ysgzh0) b, BM_YGBM00 d where a.ysgzh0(+)=d.YGBH00 and b.ysgzh0(+)=d.YGBH00) where RCS000 IS NOT NULL order by bmbh00,zwxm00