ホームページ >データベース >mysql チュートリアル >SQL データベース内の類似したプレフィックスを持つ列からデータを選択するにはどうすればよいですか?

SQL データベース内の類似したプレフィックスを持つ列からデータを選択するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-03 12:16:29846ブラウズ

How Can I Select Data from Columns with Similar Prefixes in a SQL Database?

類似したプレフィックスを持つ列からのデータの抽出

データベース ユーザーは、類似した命名規則を共有する多数の列を含むテーブルに遭遇することがよくあるため、以下に基づいて特定のデータを抽出します。これらの接頭辞は難しい場合があります。 「野菜名」、「果物名」、「肉名」などの列があるテーブルについて考えてみましょう。

特定の食品グループに関連するすべての情報を選択しようとして、ユーザーは次のことを試みました:

<code class="sql">$Food = "Vegetable";
mysql_query("SELECT `" . $Food . "%` FROM `Foods`");</code>

しかし、このクエリは効果がないことが判明しました。この問題に対処するには、必要なプレフィックスに基づいて SQL クエリを動的に構築する必要があります。

動的 SQL クエリの生成

必要な列を取得するには、次の手順に従います。手順:

  1. 列名の抽出: 次の 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>
  1. Constructクエリ文字列: 取得した列名に基づいて、適切なテーブル名と列名のリストを使用して SELECT クエリを動的に構築します。

例:

想定取得された列名は「野菜名」と「野菜タイプ」です。次のクエリは、これらの列からデータを選択します:

<code class="sql">SELECT Vegetable_Name, Vegetable_Type
FROM Foods</code>

このアプローチにより、類似したプレフィックスを共有する複数の列を持つテーブルであっても、効率的かつ的を絞ったデータ取得が可能になります。

以上がSQL データベース内の類似したプレフィックスを持つ列からデータを選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。