首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql在多行、多个表中搜索多个关键字

Mysql在多行、多个表中搜索多个关键字
EN

Stack Overflow用户
提问于 2013-01-31 18:20:17
回答 2查看 840关注 0票数 2

如果可能的话,我想调整以下mysql查询:

代码语言:javascript
复制
SELECT * FROM artists,tags WHERE tags.tag_title LIKE '$q' AND artists.art_id=tags.art_id
  • $q是用户输入的关键字
  • 艺术家是拥有艺术家基本信息的表格。
  • 标记是带有与艺术家相关的关键字的表(艺术家可以添加多个关键字-or短语-每个关键字都存储在不同的行中)

对于这个查询,tags.tag_title必须与精确的搜索匹配。例如,“另类摇滚”将显示所有艺术家的关键字“另类摇滚”在表标签中。没问题的。

因此,问题是,对于“另类摇滚”这个关键字,我也想在表格标签上展示“另类”和“摇滚”这两个关键字的艺术家,而不是“另类”和“金属”两个关键词的艺术家,或者是“独立”和“摇滚”关键字的艺术家。

这说得通吗?

EN

回答 2

Stack Overflow用户

发布于 2013-01-31 18:27:36

你在找这样的东西,

代码语言:javascript
复制
 SELECT * FROM artists
 INNER JOIN tags 
 ON artists.art_id=tags.art_id
 WHERE tags.tag_title LIKE '% $q1 %' OR  tags.tag_title LIKE '% $q2 %'

q1和q2是keyword1和keyword2

票数 0
EN

Stack Overflow用户

发布于 2013-01-31 18:30:57

很明显,这只是一个例子,但我认为你想要的是这样的东西:

代码语言:javascript
复制
SELECT * FROM artisits artist LEFT JOIN tags tag ON tag.artist_id = artist.id WHERE artist.name LIKE '$q' OR tag.name = $q
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14632509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档