select isnull(a.卡号,b.卡号),a.消费总额,b.充值总额
from (select 卡号,sum(消费额) as 消费总额 from 消费表 group by 卡号) a
      full join  
     (select 卡号,sum(充值额) as 充值总额 from 充值表 group by 卡号) b
     on a.卡号=b.卡号

解决方案 »

  1.   

    select 卡号,消费总额=sum(消费额),充值总额=sum(充值额)
    from(
    select 卡号,消费额,充值额=0 from 消费表
    union all
    select 卡号,消费额=0,充值额 from 充值表
    )a group by 卡号
      

  2.   

    select  isnull(a.卡号,b.卡号) as 卡号,
            a.消费总额,b.充值总额 from
    (select 卡号,sum(消费额) as 消费总额 from 消费表 group by 卡号) a 
    full join 
    (select 卡号,sum(充值额) as 充值总额 from 充值表 group by 卡号)b 
    on a.卡号=b.卡号
      

  3.   

    select a.卡号,a.充值总额,充值总额=isnull(b.充值总额,0)
    (select 卡号,充值总额=sum(充值额) from 充值表 group by 卡号) a
    left join 
    (select 卡号,充值总额=sum(消费额) from 充值表 group by 卡号) b
    on a.卡号=b.卡号
      

  4.   

    select a.*,b.充值总额
    from (select 卡号,sum(消费额) as 消费总额 from 消费表 group by 卡号) a
          join  
         (select 卡号,sum(充值额) as 充值总额 from 充值表 group by 卡号) b
         on a.卡号=b.卡号 order by a.卡号
      

  5.   

    isnull(b.充值总额,0) 是什么意思啊我刚学sql,请大家指教啊