ホームページ >データベース >mysql チュートリアル >MySQL の WHERE 句で CONCAT を使用するときに発生する「不明な列」エラーを解決する方法は?

MySQL の WHERE 句で CONCAT を使用するときに発生する「不明な列」エラーを解決する方法は?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-20 04:05:02248ブラウズ

How to Resolve

CONCAT 条件による MySQL 選択: 「不明な列」エラーの解決

CONCAT 関数を使用して MySQL クエリ内の複数の列を連結する場合、連結された文字列を WHERE 内の列として参照しようとすると、「不明な列」エラーが発生する可能性があります。

この問題を解決するには、次の 2 つのオプションがあります。

  1. CONCAT 式を繰り返します。

    これには、繰り返しが含まれます。 WHERE 内の CONCAT 式

    SELECT neededfield, CONCAT(firstname, ' ', lastname) as firstlast 
    FROM users
    WHERE CONCAT(firstname, ' ', lastname) = "Bob Michael Jones"
  2. クエリをラップする:

    このメソッドでは、元のクエリをサブクエリでラップし、連結された文字列を次のように参照します。外側の WHERE 句内の列query.

    SELECT * FROM (
      SELECT neededfield, CONCAT(firstname, ' ', lastname) as firstlast 
      FROM users) base 
    WHERE firstLast = "Bob Michael Jones"

これらのオプションのいずれかを実装すると、複数のカラムを連結し、連結された文字列を MySQL クエリの検索条件として使用できます。

以上がMySQL の WHERE 句で CONCAT を使用するときに発生する「不明な列」エラーを解決する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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