两个SELECT语句执行后产生两个结果集,
想将这两个结果集合并成一个结果集,
若有重复字段则合并显示一个.
例如表1的结构为A1,A2  表2的结构为A1,B2
合并后的结果集显示为A1,A2,B2
合并结果集的目的是为了根据合并的结果集建临时表用如何合并呢?谢谢!

解决方案 »

  1.   

    select a.A1,A2,B2 from a,b where a.a1=b.a1(+)
    union
    select a.A1,A2,B2 from a,b where a.a1(+)=b.a1
      

  2.   

    select 表1.A1,表1.A2,null as B2 from  表1
    union
    select null as A1 ,null as A2 ,表2.B2 from 表2
      

  3.   

    看错了,一楼的用到了连接,很不划算二楼的笔误写错了,正确如下:select A1,A2,NULL AS B2 from 表1
    union
    select A1,NULL AS A2, B2 from 表2
    /
      

  4.   

    Select nvl(表1.A1,表2.A1) A1,
    表1.B1,
    表2.B2
    From 表1 Full join 表2 on(表1.A1 = 表2.A1)
      

  5.   

    假设表1和表2的A1是主键不为空,且A2,B2都是数字型的
    可用下面这个SQL,效率应该比较高
    Select A1, Sum(A2), Sum(B2) From
    (
      Select T1.A1, T1.A2, 0 as B2 From T1
       Union All
      Select T2.A1, 0 as A2, T2.B2 From T2 
    )
    Group By A1
    如果不是数字,是别的类型,也可以改为NULL,""之类的换成Max()之类的聚合函数
      

  6.   

    boydgmx(授人以鱼不如授人以渔(baidu&google)) 正解