表一
COLUMNS1       COLUMNS2       COLUMNS3
A                  B              C(列名)
1                  2              3
1                  2              6表二
COLUMNS1       COLUMNS2       COLUMNS3
A                  B              E(列名)
1                  2              9要求查询结果
COLUMNS1       COLUMNS2       COLUMNS3       COLUMNS4
A                  B              C              E(列名)
1                  2              3              9
1                  2              6           (这里为空)
说明:两张表中哪张表数据多结果记录数就按多的,(比如说如果表1有3条记录,表2有2条记录,查询结果应该是3条,但表二中的COLUMNS3列值要为空)
不知道说明清楚没有。
在线等

解决方案 »

  1.   

    select
        a.COLUMNS1,a.COLUMNS2,a.COLUMNS3,b.COLUMNS3 as COLUMNS4
    from
        表一 a
    left join
        表二 b
    on
        a.COLUMNS1=b.COLUMNS1 and a.COLUMNS2=b.COLUMNS2
      

  2.   

    select
        a.A,a.B,a.C,b.E
    from
        表一 a
    left join
        表二 b
    on
        a.A=b.Aand a.B=b.B
      

  3.   

    --如果只是需要一对一的对应,而两表之间没有字段直接对应关联:
    select
        a.A,a.B,a.C,b.E
    from
        (select rownum as id,* from 表一) a
    left join
        (select rownum as id,* from 表二) b
    on
        a.id=b.id