ホームページ > データベース > mysql チュートリアル > MySQL でカテゴリ ツリーを構築するために再帰的 MSSQL CTE クエリを複製するにはどうすればよいですか?

MySQL でカテゴリ ツリーを構築するために再帰的 MSSQL CTE クエリを複製するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-01 08:54:13
オリジナル
723 人が閲覧しました

How Can I Replicate a Recursive MSSQL CTE Query for Building a Category Tree in MySQL?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート