2012-06-21 32 views
6

Như tiêu đề cho thấy, tôi đã tự hỏi làm thế nào để concat hai trường trong một where clause trong mysql. Đây là một ví dụ về những gì tôi đang cố gắng để đạt được:MySQL - CONCAT hai trường và sử dụng chúng trong mệnh đề WHERE

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

Điểm có ích là first_namelast_name là lĩnh vực riêng biệt, và tôi muốn để cho phép ứng dụng PHP của tôi để tìm kiếm tên một người đầy đủ của.

Bất kỳ mẹo nào?

Chúc mừng!

+0

concat với '% 'trước và sau? –

Trả lời

11

Hãy thử điều này ::

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

Cảm ơn, điều đó đã xảy ra. Tôi đã thực sự mong đợi một số cách để sử dụng trường aliased trong 'where clause', không biết nếu nó có thể. – yoda

+0

Bạn được chào đón .. –

0

đón những người sử dụng như xem sau đó truy vấn bên ngoài chọn truy vấ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%' 
Các vấn đề liên quan