MySQL JSON: キー値によるオブジェクトの検索
MySQL で JSON オブジェクトを操作する場合、検索が必要な状況に遭遇することがあります。別のオブジェクトのキーを使用して、JSON データ内の特定のオブジェクトを作成します。適切な機能がなければ、これは困難な作業となる可能性があります。この記事では、JSON_TABLE() を使用してこれを実現する効率的な方法について説明します。
JSON_TABLE() の構文は次のとおりです。
<code class="sql">JSON_TABLE(expression, path_expression COLUMNS *(expression_list))</code>
この場合、元の質問で提供されたものと同様の JSON 構造。キーと値のペアを含むオブジェクトの配列があります。別のキーを検索しながら、あるキーから指定された値を持つオブジェクトを取得したいと考えています。
JSON_TABLE() を使用すると、次のようにクエリを作成できます。
<code class="sql">SELECT field_options.* FROM fields CROSS JOIN JSON_TABLE(options, '$[*]' COLUMNS( text TEXT PATH '$.text', value TEXT PATH '$.value' ) ) field_options WHERE field_options.value = 1;</code>
その方法は次のとおりです。 works:
結果は次のようになります。 JSON 配列からの一致するオブジェクトを含むテーブルにする必要があります。
ただし、このタイプのデータに対して JSON の使用が最適なソリューションであるかどうかは検討する価値があります。正規化されたリレーショナル テーブル構造でデータをより効率的に表現できる場合は、JSON の使用を避けた方がよい場合があります。これにより、クエリとメンテナンスのタスクが簡素化されます。
以上がMySQL JSON_TABLE() を使用してキー値によって特定の JSON オブジェクトを検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。