MSSQL CTE クエリを MySQL に変換する
MSSQL には、特定のカテゴリ ツリーをボトムアップで構築する複雑な CTE クエリがあります。カテゴリID。このクエリを CTE をサポートしていない MySQL に変換する方法を知りたいと考えています。
MySQL の制限
残念ながら、MySQL は共通テーブル式 (CTE) をサポートしていません。 )。これは、CTE クエリを MySQL に直接変換できないことを意味します。
再帰ストアド プロシージャ
CTE では再帰クエリが可能であるため、ストアド プロシージャを実装する必要があります。 MySQL を使用しても同じ結果が得られます。再帰ストアド プロシージャは、自身の実行内で自身を参照できるため、階層的なデータ処理が可能になります。
前の例
以前に回答された質問は、再帰ストアド プロシージャを実装するための良い出発点となります。 MySQL のストアド プロシージャ:
この回答では、再帰クエリを使用して階層データから深さベースのツリーを生成するストアド プロシージャを作成する方法を示します。このアプローチを特定の CTE クエリに適用できます。
実装
ストアド プロシージャの具体的な実装は、カテゴリ テーブルの構造と目的の出力によって異なります。 。ただし、一般的な手順は次のとおりです。
これらの手順に従うことで、MSSQL CTE クエリと同様の機能を実行し、再帰的に階層データを処理する方法を提供するストアド プロシージャを MySQL に実装できます。
以上がCTE を使用せずに MSSQL CTE クエリを MySQL に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。