同じテーブル内のツリーなど、複数のルートを持つネストされたセット モデルをどのようにクエリしますか? 現在、すべてのサブツリー ノードのルート ノードの ID を示す「ルート」と呼ばれる追加の列を追加しましたが、適切な順序でそれらを取得するための SQL がわかりません。
MySQL での階層データの管理という記事を参照しています。
通常、アイテムを順番に取得するクエリは、左の葉の値の順序ですが、複数のルートがあると、複数の「left:1」が次々と作成され、ツリーが壊れる可能性があります。
現在、SQL とはまったく関係のないソリューションを使用しています。C#コードでそれらを再配置しましたが、SQLでそれを行う方法があり、Webサーバーで費やした時間を節約できるかどうか疑問に思っています
最後の質問です。フィルターがあり、ツリーから一部のデータを除外する場合、どのように対処しますか?
言う
- タスク 1 (進行中)
- タスク 2 (アクティブ)
- タスク 3 (アクティブ)
- タスク 2 (アクティブ)
ステータスが「アクティブ」のすべてのツリーを表示するフィルタの場合、どうしますか?