Maison > base de données > tutoriel mysql > Comment concaténer et comparer des chaînes à l'aide de MySQL SELECT avec CONCAT : éviter l'erreur « Colonne inconnue » ?

Comment concaténer et comparer des chaînes à l'aide de MySQL SELECT avec CONCAT : éviter l'erreur « Colonne inconnue » ?

DDD
Libérer: 2024-11-20 15:40:12
original
885 Les gens l'ont consulté

How to Concatenate and Compare Strings Using MySQL SELECT with CONCAT: Avoiding the “Unknown Column” Error?

Utilisation de MySQL SELECT avec la condition CONCAT

Lorsque vous travaillez avec une table contenant des champs de prénom et de nom, une tâche courante consiste à les concaténer en une seule chaîne à des fins de comparaison ou de filtrage. Cependant, rencontrer une erreur de « colonne inconnue » lors de l'utilisation d'un alias pour la chaîne concaténée peut être déroutant.

Pour surmonter ce problème, il est essentiel de comprendre que les alias ne sont applicables qu'à la sortie d'une requête, et non dans le cadre de la requête. interroger lui-même. Pour concaténer et comparer des chaînes, vous avez deux options :

Répéter la concaténation :

SELECT neededfield, CONCAT(firstname, ' ', lastname) as firstlast
FROM users
WHERE CONCAT(firstname, ' ', lastname) = "Bob Michael Jones"
Copier après la connexion

En répétant l'expression de concaténation dans la clause WHERE, vous vous assurez que vous 'comparons les valeurs concaténées réelles.

Utilisation d'une sous-requête :

SELECT * FROM (
    SELECT neededfield, CONCAT(firstname, ' ', lastname) as firstLast
    FROM users
) base
WHERE firstLast = "Bob Michael Jones"
Copier après la connexion

En encapsulant la requête dans une sous-requête, vous créez une table temporaire avec un alias ( "base" dans cet exemple) qui inclut la chaîne concaténée sous forme de colonne. Vous pouvez ensuite filtrer ce tableau temporaire à l'aide de la comparaison souhaitée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal