2012-06-21 21 views
6

Como el título sugiere, me preguntaba cómo concat dos campos en un where clause en mysql. Este es un ejemplo de lo que estoy tratando de lograr:MySQL - CONCAT dos campos y úselos en WHERE cláusula

SELECT CONCAT_WS(' ', first_name, last_name) AS name FROM `users` 
WHERE name LIKE "%John Doe%" 

El punto es que first_name y last_name son campos separados, y yo quiero para que mi solicitud PHP a buscar el nombre de una persona completa.

¿Algún consejo?

¡Salud!

+0

de concatenación con ''% antes y después? –

Respuesta

11

Prueba esto ::

SELECT CONCAT_WS(' ', first_name, last_name) AS name FROM `users` 
WHERE CONCAT_WS(' ', first_name, last_name) LIKE "%John Doe%" 
+1

Gracias, eso funcionó. De hecho, estaba esperando alguna forma de utilizar el campo alias en 'where clause', no sé si es posible. – yoda

+0

De nada ... –

0

recoger los usuarios como vista luego volver a consultar el exterior consulta de selección

select name from (select first_name||last_name FROM `users` 
    WHERE frst_name LIKE "%John%" or last name like "%doe%") where name like '%John Doe%'