我编写了以下查询:
select film_id, actor_id
from sakila.film_actor
where film_id IN (
select film_id from sakila.film
)
回传
film_id actor_id
1 1
1 10
1 20
....
2 19
2 85
但是我也想在这个结果集中包括电影的名字和演员的名字。
电影标题在电影表中,演员的名字和姓氏是演员表。
以下是表的结构:
Table Columns
actor actor_id, first name, last name
film film_id, title
film_actor actor_id, film_id(foreign keys to film and actor table)
我尝试了以下查询:
select ac.actor_id, ac.first_name, ac.last_name, fm.title from sakila.film_actor as fa inner join sakila.actor ac on fa.actor_id = ac.actor_id inner join sakila.film fm on fa.film_id = fm.film_id;
但这是所有演员的所有影片的列表,我想要的是相反的方式。每部电影中的所有演员
发布于 2022-04-17 18:06:42
使用内部联接
select f.film_id, a.actor_id, f.film_name, a.first_name, a.last_name
from sakila.film_actor a
inner join sakila.film f
on a.film_id = f.film_id
当然,您必须使用模式中的实际字段名。(我只是猜到了film_name
、first_name
和last_name
。)
https://stackoverflow.com/questions/71904100
复制相似问题