第2个回答 2013-10-10
给出的描述不是很清晰,给出的例子比较简单,不知道能不能覆盖所有情况,
下面给出一些提示和思路,如果有问题可以继续追问。
环境—oracle9i
一、建表:
create table zhidao_20131010_1_tab1
(id varchar2(2),
account1 varchar2(10),
account2 varchar2(10),
account3 varchar2(10));
create table zhidao_20131010_1_tab2
(id varchar2(2),
account varchar2(10),
accname varchar2(10));
二、插入记录:
insert into zhidao_20131010_1_tab1
select '1','1234','2345',null from dual;
insert into zhidao_20131010_1_tab2
select '1','1234','阿斯顿' from dual
union all
select '2','2345','阿' from dual
union all
select '3','4567','二' from dual
;
commit;
三、语句:
select rownum,accname from zhidao_20131010_1_tab2
where account in (
select account1 from zhidao_20131010_1_tab1
union all
select account2 from zhidao_20131010_1_tab1
union all
select account3 from zhidao_20131010_1_tab1);
四、查询结果:
ROWNUM ACCNAME
1 阿斯顿
2 阿本回答被提问者采纳