これらは私のテーブルです。
Step
stepid name
a place1
b place2
c place3
d place4
e place5
f place6
Stage
stageid start finish
1 a b
2 b c
3 c d
4 d e
5 e f
Trip
tripid stageid
1 1
1 2
1 3
1 4
1 5
このクエリ結果を達成したい
tripid stageid
1 place1,place2,place3,place4,place5,place6
すべての ID を 1 つのフィールドに入れる方法と、ID を割り当てられた名前に置き換える方法を知っています。ただし、これらのソリューションの両方に参加する方法がわかりません。
これは、IDを1つのフィールドに配置するために使用しているSQLです。
SELECT REPLACE(stageid,'''') as stages
FROM (SELECT SYS_CONNECT_BY_PATH(stageid,' ') stageid, level
FROM trip
START WITH stageid = (select min(stageid) from trip)
CONNECT BY PRIOR stageid < stageid
ORDER BY level DESC)
WHERE rownum = 1;
start と finish は stepid の外部キーで、trip テーブルの stageid は Stage テーブルの stageid の外部キーです。私は oracle developer ver 3.2 で作業しています。助けてください。