Mysql Movie / Tags选择查询

时间:2016-04-05 18:58:02

标签: mysql

所以,我有一个包含3个表的数据库及相关列:

  1. 标签:TID,tag_name
  2. 电影:MID,movie_title
  3. tags_to_movies:movie_ID,tag_ID
  4. 如何选择至少包含我想要的标签的电影。

    所以,如果我有一个带有标签(1,2,3)的movie1和带有(1,4)的movie2,当我选择TID 1时,我得到了movie1和movie2,但是当我查询TID时(1) ,2)我只得到movie1。

    我已经在网上看了一下,我不认为我找到了解决方案(或者没有那么努力)。

1 个答案:

答案 0 :(得分:0)

  position: relative;
  min-height: 1px;
  padding-left: 4px;
  padding-right: 4px;

select m.MID, m.movie_title from movies m join tags_to_movies tm on tm.movie_id = m.mid join tags t on tm.tag_id = t.tid where t.tid in (1,4) group by m.MID, m.movie_title having count(distinct t.tid) = 2 取决于您拥有的代码数量。对于3个标签,请使用having count(distinct t.tid) = 2