MySql按条件连接3个表

MySql按条件连接3个表,mysql,relational-database,Mysql,Relational Database,我想扩展我在MySql中已经掌握的知识(没有那么多),所以我从以下位置下载了一个示例数据库:,并开始使用我的q,有没有一种方法可以连接这些表(演员、电影、电影演员),以有一个表来显示每个演员和他拍摄的电影?这些表有多对多关系,要向每个演员展示电影,可以使用此查询- SELECT a.actor_id, a.first_name, a.last_name, f.film_id, f.title FROM actor a INNER JOIN film_actor fa

我想扩展我在MySql中已经掌握的知识(没有那么多),所以我从以下位置下载了一个示例数据库:,并开始使用我的q,有没有一种方法可以连接这些表(演员、电影、电影演员),以有一个表来显示每个演员和他拍摄的电影?

这些表有多对多关系,要向每个演员展示电影,可以使用此查询-

SELECT
  a.actor_id,
  a.first_name,
  a.last_name,
  f.film_id,
  f.title
FROM actor a
  INNER JOIN film_actor fa
    ON fa.actor_id = a.actor_id
  INNER JOIN film f
    ON f.film_id = fa.film_id

这是对Devart的修改查询。如果您想得到一个包含
Actor\u ID
、concatenated
ActorName
和concatenated
TITLE
的结果,那么您应该尝试以下方法:

SELECT
        a.actor_id,
        CONCAT(a.first_name,' ',a.last_name) AS ActorName,
        GROUP_CONCAT(f.title) Titles
FROM actor a
        INNER JOIN film_actor fa
          ON fa.actor_id = a.actor_id
        INNER JOIN film f
          ON f.film_id = fa.film_id
GROUP BY actor_id