一个数据库查询的问题
表一
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列值要为空)
不知道说明清楚没有。
在线等
------解决方案--------------------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
------解决方案--------------------select
a.A,a.B,a.C,b.E
from
表一 a
left join
表二 b
on
a.A=b.Aand a.B=b.B
------解决方案----------------------如果只是需要一对一的对应,而两表之间没有字段直接对应关联:
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