MySQL - 搜索多个值的一个字段

时间:2011-01-26 11:27:06

标签: mysql search

表名:tbl_person
列:id,name,bio

样本数据:(id,name,bio)
1,迈克,剑桥大学物理学士学位 2,皮特,剑桥大学地质学士 3,山姆,牛津大学地质学学士

问题: 我想创建一个(My'SQL')搜索,它可以获取多个值并在一列中搜索并匹配它们

例:
专门搜索:剑桥地质学 我希望它返回记录2,Pete
而不是所有的记录(因为它们包含匹配的关键词剑桥,地质)

到目前为止我的搜索是 SELECT * FROM tbl_person WHERE tbl_person.bio IN ('cambridge','geology')
  - 现在这不会返回匹配 -
请任何想法

3 个答案:

答案 0 :(得分:1)

    SELECT * FROM tbl_person WHERE tbl_person.bio
    LIKE '%cambridge%' AND tbl_person.bio LIKE '%geology%'

答案 1 :(得分:1)

答案 2 :(得分:0)

SELECT
  *
FROM
  tbl_person
WHERE
  bio LIKE '%cambridge%'
AND
  bio LIKE '%geology%'

您将根据用户的搜索生成程序中LIKE子句的所有WHERE子句,然后AND将它们组合在一起以创建查询。