A表: cola colb colc cole
       a1    b1    c1    e1
       a2    b2    c2    e2
B表   colb colc cold
       b3    c3   d3
       b4    c4   d4如何查询出:c表: cola colb colc cole cold
     a1    b1    c1    e1   
     a2    b2    c2    e2
           b3    c3        d3
           b4    c4        d4本来想通过union来查询,但是好像a 表的字段要跟b 表的字段数一样才行。大家帮忙写一下实现语句。谢谢!

解决方案 »

  1.   

    select cola,colb,colc,null as cold,cole 
    from a
    union all
    select null as cola,colb,colc,cold,null as cole
    from b
      

  2.   

    应该没简单的方法了
    要不你把没有的字段都补齐,再union
      

  3.   

    采用全部外连接的方法:select a.cola,a.colb,a.colc,a.cold,b.cole from A表 full outer join B表 on (a.colb=b.colb and a.colc=b.colc)
      

  4.   

    LZ,不好意思,在上面的语句中存在问题,正确的格式如下:select a.cola,nvl(a.colb,b.colb) colb,nvl(a.colc,b.colc) colc,a.cole,b.cold from oracle_temp a full outer join oracle_temp1 b on (a.colb=b.colb and a.colc=b.colc);