【发布时间】:2017-01-26 23:31:45
【问题描述】:
我想非规范化 mysql 中的多对多关系。为了以 Json 格式的 Schema 导入到 MongoDB。
输入
我有 3 张桌子:
Movies : id, title, url
Genres : id, genre
movie_genres : movie_id, genre_id
示例
movie Table
id title link
1 star wars http://link-to-imdb
2 shrek http://link-to-imdb
movie_genres Table
movie genre
1 1
2 1
genres Table
id genre
0 unknown
1 action
2 comedy
3 drama
我想通过将流派作为数组或多个值移动到电影中来将其转换为单个表。
流派数量有限(只有 15 个)。
输出
所以,表格的最终输出是:
Movies : id, title, url, genre
在这里,流派将是多个值。
示例:
id title link genre
1 star wars http://link-to-imdb action, drama, sci-fi
2 shrek http://link-to-imdb anime
我这样做了 - MySQL 查询:
select M.id ,M.title ,M.release_date, M.video, M.IMDBURL, G.genre
from genres G, movie_genres MG, movies M
where M.id = MG.movie and MG.genre = G.id
但根据流派的数量会导致大量重复。如果我能完全抛弃流派就好了。
【问题讨论】:
标签: mysql mongodb many-to-many denormalization