现有2张表,结构如下:表A                                        表B
收入日期  收入金额   收入来源              支出日期  支出金额  支出用途
2009-1-1   2000      工资                  2009-1-1   100       吃饭
2009-1-3   1000      外快                  2009-1-1   50        购物
2009-1-3   500       中奖                  2009-1-2   5         早餐我现在想通过 查询 汇总成一张新表,结构如下:
日期       收入总额     支出总额
2009-1-1   2000         150
2009-1-2   0             5
2009-1-3   1500          0请问查询语句怎么写,用到零时表也可以啊,只要能实现这样的功能就行,不管什么办法,望高手解答

解决方案 »

  1.   

    select 日期,sum(a.收入金额) as 收入总额,sum(b.支出金额)as 支出总额
    from 表A a,表B b
    group by 日期
      

  2.   

    select 日期,sum(收入金额) as srje,sum(支出金额) as zcje from (
    select 收入日期 as 日期,收入金额,0 as 支出金额 from 表A
    union
    select 收入日期 as 日期,0 as 收入金额,支出金额 from 表B) group by 日期
      

  3.   

    不对啊,提示Invalid field name 日期
      

  4.   


    create table 表A
    (收入日期 datetime,收入金额 money)
    insert into 表A
    select '2009-1-3',500
    union
    select '2009-1-1',2000 
    union  
    select '2009-1-3',1000 
    create table 表B
    (支出日期 datetime,支出金额 money)
    insert into 表B
    select '2009-1-1',100
    union
    select '2009-1-1',50 
    union  
    select '2009-1-2',5 
    select * From 表B
    select isnull(收入日期,支出日期) 日期,isnull(sum(收入金额),0)  收入总额,isnull(sum(支出金额),0) as 支出总额
    from 表A full join (select 支出日期,sum(支出金额) 支出金额 from 表B group by 支出日期) a on 收入日期=支出日期
    group by 收入日期,支出日期
      

  5.   

    我用的是Paradox数据库,3楼的语法不支持哦,寒
      

  6.   

    看有没有能代替full join的
      

  7.   


    也不行啊,出错,提示:Invalid use of keyword.Token: select
      

  8.   

    土方法,你必须有另两个表如C.db [只有日期字段] 和 D.db[日期,收入总额,支出总额]