不唯一 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 并且为此只需要一个加入。
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 并且为此只需要一个加入。