mysql CONCAT () COMME nom?
Je suis en train de créer petit moteur de recherche pour seulement une petite base de données.
"CONCAT () COMME nom" ne fonctionne pas alors comment puis-je utiliser quelque chose comme Concat() en tant que xxx ?
Créé un exemple ici http://sqlfiddle.com/#!2/21b5c/5
Ce que j'essaie de faire est de
SELECT
CONCAT(names,' ',office) AS bigDataField
FROM item_table
WHERE bigDataField LIKE "%jessy%";
Quelle est la meilleure façon d'utiliser la méthode concat champ?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le
HAVING
clause, plutôt que de dupliquer lesCONCAT()
fonction de votreWHERE
clause.Par exemple:
HAVING
sera exécuté après la requête. MySQL d'abord exécuter la requête et que d'appliquer la clause having pour le jeu de résultats.HAVING
ensuite.Vous ne pouvez pas utiliser des alias dans
where
clauses.having
clauses sont pour des données groupées. Par souci de lisibilité, je ne diffèrent de les utiliser.Malheureusement, vous ne pouvez pas utiliser un alias pour une colonne calculée dans un
WHERE
clause - vous aurez besoin d'utiliserCONCAT(names,' ',office)
à la place de votreWHERE
clause.Ce post a plus de détail: Pouvez-vous utiliser un alias dans la clause where dans mysql?