Ben ilk isimlerden bir sütun ve soyadları bir sütun olan benim masa aramak istiyorum. Ben şu anda bir alana bir arama terimini kabul etmek ve bir seferde, iki sütun karşı bir karşılaştırmak
select * from table where first_name like '%$search_term%' or
last_name like '%$search_term%';
Bu tek kelime arama terimleri ile çalışıyor ancak sonuç kümesi adı "Larry" ile herkesi kapsar. Birisi bir ilk adını daha sonra bir soyadı sonra bir boşluk, girerse ama, ben dar bir arama sonucunu istiyorum. Ben başarı olmadan aşağıdakileri denedim.
select * from table where first_name like '%$search_term%' or last_name
like '%$search_term%' or concat_ws(' ',first_name,last_name)
like '%$search_term%';
Herhangi bir tavsiye?
EDIT: Ben test ediyorum adı "Larry Smith" dir. Db "son_ad" sütununda "first_name" sütununda ve "Smith" mağazalar "Larry". Veriler, fazladan boşluk temiz ve arama terimi sol ve sağ kesilmiş.
EDIT 2: Bu sabah, Robert Gamble'ın cevabını çalıştı. Onun Dün gece çalışan ne çok benzer. Bunu açıklayamam, ama bu sabah çalışır. Aklıma tek fark, dün gece (FIRST_NAME ve last_name geçirdikten sonra) benim arama sorgusu üçüncü "veya" segment olarak concatı işlevini koştu olmasıdır. Bu sabah yanı sıra yukarıdaki adresleri ve iş isimleri geçirdikten sonra son segment olarak koştu.
Daha ortada daha bir sorgu işin sonunda bir mysql fonksiyonu çalışıyor mu?