Oracle 11g には、ツリーからすべてのリーフ ノードを取得する階層クエリがあり、うまく機能します。ただし、リーフ ノードに移動する際に、パスの各部分を個別にキャプチャする必要があります。それを行う方法はありますか?私のクエリまたは2番目のクエリを変更して??
どんな助けでも本当に感謝しています!
これが私のクエリです:
select c.id,
c.superid,
c.name,
SYS_CONNECT_BY_PATH(c.name, '>>') as PathName
from mytable c
where c.activestatus =0 AND
c.id NOT IN(select distinct c2.superid from categorizations c2 where c2.superid IS NOT NULL)
start with c.superid IS NULL
connect by prior c.id = c.superid;
したがって、現在、次のような出力が得られます: id, superid, name1, >>name1>>name2>>name3>>name
どっちがいい。しかし、何とか各ノード名を取得しようとしています (XML で出力する必要があるため)。
したがって、現在、各リーフノードの XML は次のようになります
<Node1>
<Project>name</Project>
<PathName>>name1>>name2>>name3>>name</PathName>
</Node1>.
どういうわけか次のようなXMLを取得できるようにしたいと思います
<Node1>
<Project>name1
<Project>name2
<Project>name3
<Project>name</Project>
</Project>
</Project>
</Project>
<PathName>>name1>>name2>>name3>>name</PathName>
</Node1>
....またはそのようなもの、基本的にはツリー階層を XML に出力できるようにしたいと考えています。