内容如下:
两个表数据结构一样,想组成一个如下形式表,该如何做?
A表
编码  增加额    时间
 01    20     2003-1-1
 02    40     2003-4-1
 02    30     2003-5-1
B表
 编码  增加额    时间
 a1    50     2003-1-1
 a2    60     2003-2-1
 a4    90     2003-5-1组成的新表为C表的增加额及时间为:
 增加额    时间
  70     2003-1-1   
  60     2003-2-1
  40     2003-4-1
  120    2003-5-1
说明:
两表时间相同增加额都有时:新表增加额即两个表相同时间的两者增加额之和
如果A表时间B表没有,则取A表的增加额
如果B表时间A表没有,则取B表的增加额
各位帮帮忙:
谁能告诉我用简单的方法合并起数据来?

解决方案 »

  1.   

    select sum(增加额),时间 from (select * from 表1 union select * from 表2) A order by 时间没有环境去测试,自己测试一下
      

  2.   

    上面错了!select sum(增加额),时间 from (select * from 表1 union select * from 表2) A group by 时间没有环境去测试,自己测试一下
      

  3.   

    SELECT TTime, sum(Tadd) AS ['yy']
    FROM [select A.TTime,A.Tadd from A union select B.ttime,b.tadd from b]. AS [%$##@_Alias]
    GROUP BY TTime;
    呵呵,從access 復制出來就是這個樣子了tadd就是你的增加额,ttime就是時間咯,表是a,b
      

  4.   

    比如想让新表的字段为:
    C表字段为:编码  时间   A表的增加额 B表的增加额  增加额之和
    编码可以自动生成
    我怎么加其它列呢,谢谢大家了
      

  5.   

    加一行id就加一行呀
    SELECT ID, TTime, sum(Tadd) AS ['yy']
    FROM [select A.ID,A.TTime,A.Tadd from A union select b.id, B.ttime,b.tadd from b]. AS [%$##@_Alias]
    GROUP BY TTime, id;
    但是我告訴你我上面的sql 是錯誤的,因為編碼每一個都是不相同的。,所以你就算怎麼寫,都是6個記錄。你問的問題有問題
      

  6.   

    我懂了,刚才group by 后面没加编码,我知道你的意思了!非常感谢!除了编码外,我这儿还有一个相同的字段的!就是另一个资料表的的ID
    对了,怎么判断是哪一个表的内容呢?
    像如加上:A表的增加额 B表的增加额  增加额之和
      

  7.   

    Select sum(增加额),时间 From
    (Select 编码,增加额,时间 From 表1
    Union
    Select 编码,增加额,时间 From 表2) as 表3
    Group By 时间