繁体   English   中英

在 SQL 中连接 3 个不同的表

[英]Join 3 different tables in SQL

我正在制作三个不同的表格,这些表格与演员、他们出演的电影以及他们在电影中的演员阵容有关。 我目前的问题是我无法让电影标题与演员姓名和他们扮演的角色正确关联。 这是我的 SQL 语法。 以及我的输出截图。 显然片名与演员不符。 例如罗伯特·洛吉亚和阿尔帕西诺都应该在他们旁边放电影疤面煞星。 我在这里缺少什么?

当前结果

SELECT a.fname, lname, c.characterRole, m.title, salary
FROM Actor a, Castings c, Movie m 
where a.actorID = c.actorId and a.actorID = m.movieId

电影桌

首先,切勿FROM子句中使用逗号。 始终使用正确、明确、标准的JOIN语法。

您想要的查询如下所示:

SELECT a.fname, lname, c.characterRole, m.title, salary
FROM Actor a JOIN
     Castings c
     ON a.actorID = c.actorId JOIN
     Movie m 
     ON c.movieId = m.movieId;

actorIdmovieId没有意义。 电影 ID 应该连接到电影 ID。

我假设 Castings 表有一个要链接到 Movie 表的 movieId

SELECT 
a.fname AS FirstName, 
a.lname AS LastName, 
c.characterRole, 
m.title, 
c.salary
FROM Movie m
JOIN Castings c ON c.movieId = m.movieId
JOIN Actor a ON a.actorID = c.actorId

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM