CONCAT 条件を指定した MySQL SELECT の使用
姓と名フィールドを含むテーブルを操作する場合、共通のタスクはそれらを連結することです。比較またはフィルタリングを目的とした単一の文字列。ただし、連結文字列のエイリアスを使用しているときに「不明な列」エラーが発生すると、困惑することがあります。
これを克服するには、エイリアスはクエリの出力にのみ適用され、クエリ内では適用されないことを理解することが重要です。クエリ自体。文字列を連結して比較するには、次の 2 つのオプションがあります。
連結の繰り返し:
SELECT neededfield, CONCAT(firstname, ' ', lastname) as firstlast FROM users WHERE CONCAT(firstname, ' ', lastname) = "Bob Michael Jones"
WHERE 句で連結式を繰り返すことで、実際の連結された値を比較しています。
サブクエリの使用:
SELECT * FROM ( SELECT neededfield, CONCAT(firstname, ' ', lastname) as firstLast FROM users ) base WHERE firstLast = "Bob Michael Jones"
クエリをサブクエリでラップすることで、エイリアス (この例では「base」)、連結された文字列を列として含みます。その後、必要な比較を使用してこの一時テーブルをフィルタリングできます。
以上がMySQL SELECT と CONCAT を使用して文字列を連結および比較する方法: 「不明な列」エラーを回避するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。