2012-06-21 20 views
6

Come suggerisce il titolo, mi chiedevo come fare a concat due campi in un where clause in mysql. Questo è un esempio di quello che sto cercando di realizzare:MySQL - CONCAT due campi e utilizzarli nella clausola WHERE

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

Il punto è che first_name e last_name sono campi separati, e voglio consentire la mia domanda PHP per cercare il nome di una persona piena.

Qualche consiglio?

Cheers!

+0

Concat con ''% prima e dopo? –

risposta

11

Prova questo ::

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

Grazie, ha funzionato. In realtà mi aspettavo un modo per usare il campo alias nella clausola 'where', non so se sia possibile. – yoda

+0

Siete i benvenuti .. –

0

raccogliere gli utenti come vista poi interrogare fuori query di selezione

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%'