MySql在条件下加入3个表
问题描述:
我正在寻找扩展MySql中已有的知识(它不是那么多),所以我下载了一个示例数据库:http://downloads.mysql.com/docs/sakila-db.zip,并开始玩,我的q就在那里一种加入这些表格的方式(演员,电影,电影演员)有一张桌子,向每个演员展示他所执行的电影?MySql在条件下加入3个表
答
这些表有许多一对多的关系,以示与电影每个演员可以用这个查询 -
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_ID
,concactenatedActorName
和concactenatedTITLE
那么你应该试试这个:
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