【发布时间】:2011-12-29 02:10:28
【问题描述】:
我有 3 个这样的表:
电影:
- movie_id (int)
- movie_title (varchar)
- movie_runtime (int)
- movie_releaseYear (int)
- ...
类型:
- genre_id (int)
- genre_name (varchar)
电影流派:
- movieGenre_id (int)
- movieGenre_movieId (int)
- movieGenre_genreId (int)
一部电影可以包含多种类型。
我想获取电影名称、运行时间和发行年份及其类型。如何在单个查询中做到这一点?
我试着这样做:
SELECT u.movie_title, u.movie_runtime, u.movie_releaseYear, a.genre_name
FROM movieGenres ua
LEFT JOIN movies u ON u.movie_id = ua.movieGenre_filmId
LEFT JOIN genres a ON a.genre_id = ua.movieGenre_genreId
LIMIT 0,10
这会返回类似:
罗宾汉 _ 101 _ 2001 _ 冒险
罗宾汉 _ 101 _ 2001 _ 动作
罗宾汉 _ 101 _ 2001 _ 戏剧
防火墙 _ 98 _ 2003 _ 行动
防火墙 _ 98 _ 2003 _ 剧情
我不想重复我已经知道的信息。我希望它像这样显示:
罗宾汉 _ 101 _ 2001 _ 冒险 _ 动作 _ 剧情
防火墙_98_2003_动作_剧情
请帮我解决这个问题:)
【问题讨论】:
标签: mysql database many-to-many