一个SQL语句的问题!

                            
4个表中有3个是关于费用的,并且有货币类型代码(rateID)和汇率(rate)表:Code_Rate,如果3个关于费用的表的的费用乘以汇率(rate)后得出的费用的总和,我用了联合查询,想问一下有没有别的更简便的方法(比如:不用联合查询)!谢谢!   
  select   sum(金额)   from   (select   Sum(a.Factfee*c.Rate   )   as   金额      
                                from   FY_Chargy   a,FY_Translate   b,Code_Rate   c      
                                where     (a.TranslateID=b.TranslateID)      
                                              and   (c.RateID=a.RateID)                                    
  Union  
  select   Sum(   -d.amount*c.Rate   )   as   金额      
                                from     FY_Translate   b,Code_Rate   c   ,FY_Payment   d    
                                where   (d.TranslateID=b.TranslateID)  
                                              and   (c.RateID=d.RateID)                                      
  Union  
  select   Sum(   -e.amount*c.Rate)   as   金额      
                                from     FY_Translate   b,Code_Rate   c     ,FY_withdraw   e  
                                where       (e.TranslateID=b.TranslateID)                                    
                                                  and   (c.RateID=e.RateID   )

查看回复