MSSQL CTE クエリを MySQL に変換
ID、親 ID、および ID の列を含む「カテゴリ」テーブルを持つ MySQL スキーマ内name の場合、指定されたカテゴリ ID に対して下から上にカテゴリ ツリーを構築する MSSQL CTE クエリを複製したいとします。このクエリは次のとおりです。
with CTE (id, pid, name) as ( select id, parentid as pid,name from category where id = 197 union all select CTE.pid as id , category.parentid as pid, category.name from CTE inner join category on category.id = CTE.pid ) select * from CTE
残念ながら、MySQL には CTE がサポートされていません。その結果、問題の CTE は再帰的であり、クエリ内でそれ自体を参照するため、それらの代わりにサブクエリを使用することはオプションではない可能性があります。 MySQL は再帰 CTE をサポートしていません。
同様の機能を実現するには、ストアド プロシージャを実装する必要があります。 「MySQL の階層データから深さベースのツリーを生成する (CTE なし)」方法に関する以前の回答は、そのようなプロシージャを作成するための開始点として役立ちます。
以上がMySQL でカテゴリ ツリーを構築するために再帰的 MSSQL CTE クエリを複製するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。