【发布时间】:2016-04-06 04:50:10
【问题描述】:
所以,我有一个包含 3 个表和相关列的数据库:
- 标签:TID、标签名称
- 电影:MID,movie_title
- tags_to_movies : movie_ID, tag_ID
如何选择至少有我想要的标签的电影。
所以,如果我有一个带有标签 (1,2,3) 的电影 1 和带有 (1,4) 的电影 2,当我按 TID 1 选择时,我会得到电影 1 和电影 2,但是当我查询 TID (1 ,2) 我只得到movie1。
我已经在网上浏览了一下,但我认为我没有找到解决方案(或者没有足够努力)。
【问题讨论】:
-
可能是因为您的 where 子句是并且 tid=1 和 tid=2 仅适用于电影 1。尝试 select movie_title from movies m, tags t, tags_to_movies c where m.mid = c.movie_id和 c.tag_id in (我的选择列表 - 比如 "c.tag_id in (1, 2)")
标签: mysql