close

 

 

案例來源:ITPUB

表1:create table tst001 (a varchar2(100),b varchar2(100));
insert into tst001 values(1,'test001');
insert into tst001 values(1,'test002');
insert into tst001 values(1,'test003');
insert into tst001 values(1,'test004');

表2:
create table tst002 (a varchar2(100),b varchar2(100),c varchar2(100));
insert into tst002 values(1,'abc',1);
insert into tst002 values(1,'abcd',2);
insert into tst002 values(1,'abcde',3);
insert into tst002 values(1,'abcdef',4);


結果:

f_id f_name    id        name

1    test001   1      test001
1    test001   2      test002
1    test001   3      test003
1    test001   4      test004

 

解法一: 多層子查詢(運用到兩張表)

*********************************

 

select * from tst001;
select * from tst002;


select t2.a,t1.b,t2.c,b.b from tst001 t1,tst002 t2,(select * from (
select rownum num ,b from tst001)) b where t1.b='test001' and t2.c=b.num ;

 

解法二:substr用法

************************

select a.a,a.b,b.c,substr(a.b,1,6)||b.c
from tst001 a,tst002 b
where a.b='test001';

 

解法三:LEVEL方法 (投機取巧)

select 1,'test001',level,'test00'||level from dual connect by level<=4 order by 3;

 

 

 

 

arrow
arrow
    全站熱搜

    to52016 發表在 痞客邦 留言(0) 人氣()