不唯一 table/alias:'movie_direction'

Not unique table/alias: 'movie_direction'

schema 我正在尝试获取詹姆斯·卡梅隆执导的电影。

select mov_title 
from movie 
inner join movie_direction on movie.mov_id = movie_direction.dir_id
inner join movie_direction on director 
where director.fname='james' and director.lname='Cameron';

您不能在同一个查询中引用 movie_direction table 两次,除非在至少一个连接中给它一个别名。在您的连接之一或两者中提供别名。

inner join movie_direction md1 on {your condition}
inner join movie_direction md2 on {your condition}

您的查询应该是这样的

SELECT 
 *
 FROM (movie INNER JOIN movie_direction ON movie.mov_id = 
 movie_direction.mov_id) INNER JOIN director ON movie_direction.dir_id = 
 director.dir_id
 WHERE    director.dir_fname='james' and director.dir_lname='Cameron';

这应该有效:

SELECT 
    mov_title 
FROM 
    movie 
    INNER JOIN 
    movie_direction director
ON 
    movie.mov_id = director.mov_id 
WHERE 
    director.fname='james' 
AND 
    director.lname='Cameron');

您的查询错误是您正在用 dir_id 加入 mov_id 并且为此只需要一个加入。