select aaaa,bbbb,cccc,....from (select pk,aaaa from table_name) ta, (select pk,bbbb from table_name) tb, (select pk,cccc from table_name) tc, ..... where table_name.pk=ta.pk(+) and table_name.pk=tb.pk(+) table_name.pk=tc.pk(+) ..........
with a as (select 'aaaa' co from dual union select 'bbbb' co from dual union select 'cccc' co from dual ) select substr(max(sys_connect_by_path(co,'->')),3) rm from (select a.*,rownum rn from a) start with rn=1 connect by rn-1=prior rn
(select pk,aaaa from table_name) ta,
(select pk,bbbb from table_name) tb,
(select pk,cccc from table_name) tc,
.....
where table_name.pk=ta.pk(+)
and table_name.pk=tb.pk(+)
table_name.pk=tc.pk(+)
..........
union
select 'bbbb' co from dual
union
select 'cccc' co from dual
)
select substr(max(sys_connect_by_path(co,'->')),3) rm
from (select a.*,rownum rn from a)
start with rn=1
connect by rn-1=prior rn
我上面寫的是一種方法,還有一種寫函數的方法,在我的博客里面有介紹
http://jack198409.itpub.net/