の最も深い両親(ないリーフノード)を見つけるのですか:私はCとE(の2つの最も深いノードを見つける必要がありSQL - ネストされたセットモデル - 私はこのような木を考えると、各ブランチ
A----B---------C----D | | E----F G | H
それぞれ固有のブランチ、ACとAE)
私たちのデータベースは、左と右の値が同期しなくなった場合にツリー構造を維持するために、ネストされたセットモデルと隣接リストをバックアップとして使用します。
私はすべてのリーフノードを除外することができます(RGT = LFT + 1) とルートノード(LFT = 1)あなたは、これが非常に簡略化例です想像できるように私はCをBE WITH残し 、私たちの木の一部を100ノード以上あります。私のデータでこのノイズを取り除くにはどうすればいいですか?
上記の例のデータがデータベースに保存されている場合のデータです。
node | parent | lft | rgt | ------+--------+-----+-----+ A | NULL | 1| 16| B | A | 2| 15| E | B | 3| 8| F | E | 4| 5| H | E | 6| 7| C | B | 9| 14| D | C | 10| 11| G | C | 12| 13|
ありがとうございました!