ロードマップ(接続都市のリスト)があります:
drop table aaa;
create table aaa(a varchar2(10), b varchar2(10));
insert into aaa values ('Rome','Berlin');
insert into aaa values ('London','Rome');
insert into aaa values ('London','New-York');
insert into aaa values ('New-York','Dallas');
パスを取得する必要があります: ベルリン=>ローマ=>ニューヨーク=>ダラス
バリエーション 1:
select sys_connect_by_path(DECODE(a, PRIOR a, b, a),'=>') PATH1
from aaa
start with a = 'Berlin' or b = 'Berlin'
connect by nocycle Prior a = b or prior b = a
帰り: =>ローマ=>ロンドン
バリエーション 2:
select sys_connect_by_path(DECODE(a, PRIOR a, b, a),'=>') PATH1
from aaa
start with a = 'Berlin' or b = 'Berlin'
connect by Prior a = b or prior b = a
Return: ERROR ORA-01436 ユーザー データの CONNECT BY ループ
階層クエリで期待される結果を得る方法はありますか?