开发者

mysql select in multiple fields

In my search I used autosuggest. The problem now is I have to search the value in multiple fields such as firstname,middlename,lastname,caption etc. How to identify that the match string will belong on specific field name.

let say i have table

 firstname     middlename     lastname      caption
 james         kelly          tow           handsome
 timy          john           fung          fearless
 hanes         bing           ken           great

in my input field once I typed "j" I should select and ouput

james

john

great

Currently I just output the firstname so instead of the above result I came out like below which is not good.

james

timy

hanes

It is possible? Any help would greatly ap开发者_Go百科preciated.


You could do something like:

SELECT IF(first LIKE 'j%',
          first,
          IF(middle LIKE 'j%',
             middle,
             IF(last LIKE 'j%',
                last,
                ''))) AS name
FROM mytable
HAVING name <> '';


Just OR them together like so:

SELECT * FROM yourTable WHERE firstname LIKE '%j%' OR lastname LIKE '%j%' -- ...


This shouts for a fulltext search.

Check out the mysql entries about that!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜