【发布时间】:2023-03-26 20:39:01
【问题描述】:
我有一个表“电影”和一个表“导演”。这些通过表“MovieDirector”以多对多关系连接。表格具有以下字段:
Movie:
uid
name
release_date
Director:
uid
name
MovieDierector:
uid
movie_id
director_id
我现在想要一份所有电影及其导演的列表。有可能不止一位导演为一部电影工作。如果是这种情况,我希望结果如下所示:
movie | release-date | director
movie A | 2011 | director 1, director 2
movie B | 2013 | director 1
movie C | 1999 | director 3
我已经尝试了所有可能的组合内连接、左连接、右连接。但我总是得到这个结果:
movie | release-date | director
movie A | 2011 | director 1
movie A | 2011 | director 2
movie B | 2013 | director 1
movie C | 1999 | director 3
所有随着不同连接组合而变化的是条目的顺序。
谁能告诉我,这是否可以用 MySQL 实现?如果是,它是如何完成的?如果不是,如何通过多个 SQL 请求实现这一目标的最佳方式?
【问题讨论】:
-
你可以
GROUP BY电影ID和GROUP_CONCAT()导演。见:stackoverflow.com/a/3935730/3986005
标签: mysql