J'essaye de compiler ceci dans mon esprit .. j'ai une table avec les champs de prénom et de nom et j'ai une chaîne comme "Bob Jones" ou "Bob Michael Jones" et plusieurs autres.
le truc c'est que j'ai par exemple Bob en prénom et Michael Jones en nom de famille
alors j'essaye de
SELECT neededfield, CONCAT(firstname, ' ', lastname) as firstlast
FROM users
WHERE firstlast = "Bob Michael Jones"
mais il dit colonne inconnue "firstlast" .. quelqu'un peut-il aider s'il vous plaît?
Essaye ça:
la source
la source
Utilisez CONCAT_WS ().
Le premier argument est le séparateur du reste des arguments.
la source
CONCAT_WS(' ', ..
Essayer:
Votre alias firstlast n'est pas disponible dans la clause where de la requête, sauf si vous effectuez la requête en tant que sous-sélection.
la source
Il existe une alternative à la répétition de l'
CONCAT
expression ou à l'utilisation de sous-requêtes. Vous pouvez utiliser laHAVING
clause, qui reconnaît les alias de colonne.Voici un SQL Fiddle fonctionnel .
la source