類似したプレフィックスを持つ列からのデータの抽出
データベース ユーザーは、類似した命名規則を共有する多数の列を含むテーブルに遭遇することがよくあるため、以下に基づいて特定のデータを抽出します。これらの接頭辞は難しい場合があります。 「野菜名」、「果物名」、「肉名」などの列があるテーブルについて考えてみましょう。
特定の食品グループに関連するすべての情報を選択しようとして、ユーザーは次のことを試みました:
<code class="sql">$Food = "Vegetable"; mysql_query("SELECT `" . $Food . "%` FROM `Foods`");</code>
しかし、このクエリは効果がないことが判明しました。この問題に対処するには、必要なプレフィックスに基づいて SQL クエリを動的に構築する必要があります。
動的 SQL クエリの生成
必要な列を取得するには、次の手順に従います。手順:
<code class="sql">SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'Foods' AND table_schema = 'YourDB' AND column_name LIKE 'Vegetable%'</code>
例:
想定取得された列名は「野菜名」と「野菜タイプ」です。次のクエリは、これらの列からデータを選択します:
<code class="sql">SELECT Vegetable_Name, Vegetable_Type FROM Foods</code>
このアプローチにより、類似したプレフィックスを共有する複数の列を持つテーブルであっても、効率的かつ的を絞ったデータ取得が可能になります。
以上がSQL データベース内の類似したプレフィックスを持つ列からデータを選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。