a表: charge,name1
b表: charge,name2 
我要取这二个表这二个字段的总和用一条语句:是不是这样:select (sum(a.charge)+sum(b.charge))as total from a,b where a.name1=b.name2    ?

解决方案 »

  1.   

    select name1,sum(k) from (
    Select name1,sum(charge) as k from a gruop by name1
    Union all
    Select name2,sum(charge) from b gruop by name2
    ) t group by name1
      

  2.   

    select sum(k) from (
    Select sum(charge) as k from a 
    Union all
    Select sum(charge) as k from b 
    ) t
      

  3.   

    select name1,sum(k) from (
    Select name1,sum(charge) as k from a gruop by name1
    Union all
    Select name2,sum(charge) from b gruop by name2
    ) t group by name1
    ORselect sum(a.charge+b.charge) as total from a,b where a.name1=b.name2 
      

  4.   

    不好意思,上边我写的不太清楚,重写了下,麻烦大家给看看:
    user表
     
     
    username(用户名)   jiaofei  mydate(日期)       
    zx                   20      2010-01-15 10:10:50 
    ll                   30      2010-01-22 15:20:50  
    xz                   35      2010-02-05 25:10:50  
    ss                   15      2010-02-11 12:10:50  
    bb                   25      2010-03-15 20:10:50  
                         ---------------------------------表名:table1字段:
    username(用户名)       usemoney(使用费用)       
    zx                        10                                      
    ll                        20                                      
    xz                        30                  
    ss                        10                  
    bb                        20                  ----------------------------------------------表名:table2字段:
    username(用户名)        money(结算费用)          
    zx                        2                                       
    ll                        4                                       
    xz                        2                  
    ss                        4                  
    bb                        2                  *************************************************
    要得出的结果为下:时间             使用的总费          总交费
    2010-01            36                 50
    2010-02            46                 50
    2010-03            22                 25
    ----------------------------------------合计               104                125