以前のルートノードを指すparent_idを使用して、これをテーブルに組み込んだツリー階層を表示します。
すべてのルート ノード (root1、root2) を繰り返し処理し、root1 と child1 に対して root1 または root1/child1 へのパスを設定しています。child1 のパスを見つけるには、少なくとも 2 回呼び出してパスを作成する必要があります。5 ~ 7 レベルの深さでネストされた非常に多数のルート ノードと子を処理するため、パスを埋める効率的な方法はありますか。
create table foo (id, name, parent_id, path)
insert into foo (1, "root1', null, null)
insert into foo (2, "child1', 1, null)
root1 (path = null)
child1 (path = root1)
subchild1 (path = root1/child1)
root2
child2
subchild2