首页 >后端开发 >php教程 >电影网站这种数据结构该怎样多表联合查询?

电影网站这种数据结构该怎样多表联合查询?

WBOY
WBOY原创
2016-06-06 20:33:191466浏览

电影网站这种数据结构该怎样多表联合查询?
如上图:每部电影有多个标签,而每个标签又有多部电影,典型的多对多的关系,于是我建立了中间表:fm_movie_tag
这个表就两个字段:movie_id和tag_name。movie_id和tag_name一一对应的一个表。
而针对每部电影详细信息的数据表fm_moviedetail,可以设两个字段:地区(movie_area)和年代(movie_year),那现在我要查询“2015”年“欧美”的“科幻”电影,该怎样写这条sql语句?

回复内容:

电影网站这种数据结构该怎样多表联合查询?
如上图:每部电影有多个标签,而每个标签又有多部电影,典型的多对多的关系,于是我建立了中间表:fm_movie_tag
这个表就两个字段:movie_id和tag_name。movie_id和tag_name一一对应的一个表。
而针对每部电影详细信息的数据表fm_moviedetail,可以设两个字段:地区(movie_area)和年代(movie_year),那现在我要查询“2015”年“欧美”的“科幻”电影,该怎样写这条sql语句?

<code>SELECT md.name FROM fm_movie_tag AS fmt
LEFT JOIN fm_moviedetail AS md ON md.id = fmt.movie_id
LEFT JOIN fm_tagdetail AS td ON td.id = fmt.tag_id
WHERE md.movie_area = 'xx' AND md.movie_year = 'xx' AND td.name = 'xx';
</code>

2015也是一个 tag, 是不是就简单了. tag in(2015, 欧美, 科幻)

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn