簡體   English   中英

我如何從 mysql sakila 數據庫中獲得以下結果集:所有電影的列表以及該電影中每個演員的名字和名字

[英]How can I get the following result set from mysql sakila database: List of all the films with film name and name of every actor in that film

我寫了以下查詢:

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;

但這會返回每個演員的所有電影列表,我想要相反的方式。 每部電影的所有演員

使用內連接

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_namefirst_namelast_name 。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM