mysql在多个字段中选择

时间:2010-02-05 07:59:36

标签: mysql

在我的搜索中,我使用了autosuggest。现在的问题是我必须在多个字段中搜索值,例如firstname,middlename,lastname,caption等。如何识别匹配字符串将属于特定字段名称。

让我说我有桌子

 firstname     middlename     lastname      caption
 james         kelly          tow           handsome
 timy          john           fung          fearless
 hanes         bing           ken           great
输入字段中的

一旦输入“j”,我应该选择并输出

詹姆斯
约翰

目前我只输出名字而不是上面的结果,我就像下面出来的那样不好。

詹姆斯
timy
Hanes的

有可能吗?任何帮助都会非常感激。

3 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

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

答案 1 :(得分:0)

或者像他们一样将他们聚在一起:

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

答案 2 :(得分:0)

这是一个全文搜索的呼喊。

查看the mysql entries about that