ホームページ >データベース >mysql チュートリアル >MySQL 階層データからツリー構造を再帰的に構築する方法
問題:
部品表テーブルを作成するには、行を再帰的に取得するメソッドが必要です。ネストされたツリー表現。ただし、従来の SQL クエリは再帰を処理する能力に制限があります。
回答:
2011 年に、ツリー用の MySQL ソリューションを求める質問が DBA StackExchange に投稿されました。横断。応答では一連のストアド プロシージャが提供されました。
実装:
呼び出しGetFamilyTree(item_id) は、特定のアイテムの家系図を取得します。このストアド プロシージャは、親とすべての祖先を再帰的に検索し、結果を階層化されたツリー構造として返します。
例:
CREATE PROCEDURE GetFamilyTree( IN item_id INT ) BEGIN SELECT ... # Perform recursive tree traversal END;
使用法:
CALL GetFamilyTree(1);
これにより、アイテム 1 の家系図全体が取得され、それが表示されます。ネストされた形式。
利点:
以上がMySQL 階層データからツリー構造を再帰的に構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。