次のネストされたセットがあります。
cat.table:
cat.ID Name Lft Rgt
1 A 1 8
2 B 2 5
3 C 3 4
4 D 6 7
5 E 9 14
6 F 10 11
7 G 12 13
出力: 括弧内はアイテムの数です。(「A」では、そのノードにもあるアイテムをカウントします-B、C、およびD)
A (7)
-B (3)
--C (2)
-D (1)
E (3)
-F (1)
-G (2)
アイテム テーブル:
ID Cat.ID Name
1 1 item1
2 2 item2
3 2 item3
4 2 item4
5 3 item5
6 3 item6
7 4 item7
8 6 item8
9 7 item9
10 7 item10
Cat A を選択すると、B、C、D にある項目も選択したいと思います。B を選択すると、B と C から項目が表示されます。F を選択すると、F からのみ表示されます... Items テーブルには、左と右の値がなく、Cat.ID のみが表示されます。
「A」カテゴリを選択した場合、どのアイテムが「B」、「C」、「D」にも含まれているかを知るにはどうすればよいですか?
編集: 例:BとCのアイテムを表示するよりもBを選択した場合(BはCの親であり、CはBのノードです)-出力:
item2
item3
item4
item5
item6