select *
from 
   (select purmb.mb01 suppliers_no2,purmb.mb02 suppliers_name,purmb.mb85 suppliers_class,purmo.mo02 suppliers_class_n,
           c.receipt_number receipt_number,c.Qualified_number Qualified_number,c.qualified_rate qualified_rate
      from purmb,purmo,
          (select a.tc04 suppliers_no,a.receipt_number receipt_number,b.Qualified_number Qualified_number,b.Qualified_number/a.receipt_number*100 qualified_rate 
             from (select tc04,count(*) receipt_number from SUPV001 where substr(tc16,1,7)='2012/07' group by tc04) a,(select tc04,count(*) Qualified_number from SUPV001 where substr(tc16,1,7) = '2012/07' and (tc42='2' or tc42='3' or tc42 is null) group by tc04) b
            where a.tc04=b.tc04(+)) c 
     where c.suppliers_no = purmb.mb01 and purmb.mb85 = purmo.mo01(+))h 
full join (select e.suppliers_no suppliers_no1,sum(d.receipt_sum) receipt_sum,sum(e.return_sum) return_sum,sum(e.return_sum)/sum(d.receipt_sum) return_rate  
             from (select me04,sum(me07) receipt_sum 
                     from mocme,mocmd
                    where me01=md01 and me02=md02 and md12='3' and md11='Y' group by me04
                  ) d,
                  
                  (select me04,tj04 suppliers_no,sum(tj05) return_sum 
                     from mocme,moctj,mocmd
                    where me01=md01 and me02=md02 and md12='4' and md11='Y' and substr(md03,1,7)='2012/07'
                      and tj01=me01 and tj02=me02 and tj03=me03 and tj09='2'
                    group by me04,tj04
                  ) e      
            where e.me04=d.me04(+) group by e.suppliers_no) 
on suppliers_no1 = suppliers_no2