MySQL select avec CONCAT condition
Je suis en train de compiler ce dans mon esprit.. j'ai une table avec les champs prénom et nom
et j'ai une chaîne comme "Bob Jones" ou "Bob Michael Jones" et plusieurs autres.
la chose est, j'ai par exemple
Bob, le prénom, et
Michael Jones dans lastname
donc je suis en train de
SELECT neededfield, CONCAT(firstname, ' ', lastname) as firstlast
FROM users
WHERE firstlast = "Bob Michael Jones"
mais il dit inconnu colonne "firstlast".. quelqu'un peut-il aider s'il vous plaît ?
Vous devez vous connecter pour publier un commentaire.
Les alias vous donnent sont pour la sortie de la requête - ils ne sont pas disponibles dans la requête elle-même.
Vous pouvez répéter l'expression:
ou enveloppez la requête
CONCAT(...) LIKE
au lieu deCONCAT(...) =
???Essayez ceci:
Utilisation CONCAT_WS().
Le premier argument est le séparateur pour le reste des arguments.
CONCAT_WS(' ', ..
Essayer:
Votre alias firstlast n'est pas disponible dans la clause where de la requête, à moins que vous ne la requête comme une sous-sélection.
Il existe une alternative à répéter les
CONCAT
expression ou à l'aide de sous-requêtes. Vous pouvez faire usage de laHAVING
clause, qui reconnaît les alias de colonne.Ici est un travail SQL Violon.