-1

私はこのようなクエリを持っています:

select * from users where `firstname` like '%jack%' or `lastname` like '%Mr green%' 

しかし、このコードは、彼女の名がであり、彼女の名前がであるか、または名がジャック氏でjackあり、姓が緑色である人を見つけたい場合には適していません。 つまり、1つのテキストボックスがあり、ユーザーはこのテキストボックスに名と姓を1つのスペースで埋めます。ユーザーテーブルで検索して、サーチャーで検索するユーザーを検索します(サーチャーはテキストボックスに入力します)。2列 に使用する方法はありますか?Mr green

like

4

3 に答える 3

2

名前が価値ならこれが使えると思います

 (`firstname` like '%value%' or `lastname` like '%value%' or concat(firstname,' ', lastname) LIKE '%value%')
于 2013-01-08T11:05:27.533 に答える
1

ORに変更AND

select * from users
where `firstname` like '%jack%'
AND `lastname` like '%Mr green%' 
于 2013-01-08T11:01:18.117 に答える
0

何を求めているのかを正確に伝えるのは難しいですが、名前または名前を一致させることをお勧めします(ただし、両方を同時に使用することはできません)。その場合:

SELECT 
    * 
FROM 
    `users`
WHERE 
    (
        `firstname` LIKE '%jack%'
        AND
        `lastname` NOT LIKE '%Mr green%'
    )
    OR
    (
        `firstname` NOT LIKE '%jack%'
        AND
        `lastname` LIKE '%Mr green%' 
    )
于 2013-01-08T11:01:24.877 に答える