Tablename: tbl_person
列: id、名称、bio
样本数据:(id、姓名、生物)
1,Mike,剑桥大学物理学学位
彼得,剑桥大学地质学学位
3、Sam,牛津大学地质学学位
问题:我想创建一个(我的‘’SQL‘)搜索,它可以接受多个值并在一列中进行搜索和匹配
示例:
专门搜索:剑桥地质学
我希望它能重现记录2,皮特
而不是所有的记录(因为它们包含匹配的关键字剑桥,地质学)
到目前为止,我的搜索是
从 tbl_person 中选择 tbl_person.bio IN (剑桥,地质学)
-现在这个不返回一个匹配--
有什么想法吗?
发布于 2011-01-26 11:34:53
SELECT * FROM tbl_person WHERE tbl_person.bio
LIKE '%cambridge%' AND tbl_person.bio LIKE '%geology%'发布于 2011-01-26 11:35:58
尝试全文搜索,这将为您提供更多的功能和更好的性能。
http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html
http://dev.mysql.com/doc/refman/5.0/en/fulltext-boolean.html
发布于 2011-01-26 11:33:05
SELECT
*
FROM
tbl_person
WHERE
bio LIKE '%cambridge%'
AND
bio LIKE '%geology%'您将根据用户进行的搜索为您的程序中的LIKE子句生成所有WHERE子句,然后将它们放在一起创建查询。
https://stackoverflow.com/questions/4804020
复制相似问题