MySql在条件下连接3个表

时间:2012-01-04 13:14:01

标签: mysql relational-database

我希望扩展我在MySql中已有的知识(它不是那么多),所以我从http://downloads.mysql.com/docs/sakila-db.zip下载了一个示例数据库,并开始玩,我的q有一种方法加入这些表格(演员,电影,电影演员),有一张桌子可以向每个演员展示他演出的电影吗?

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

这是Devart的修改查询。如果您希望获得Actor_ID连接 ActorName连接 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