where子句必須在所有連接之後出現。
select movie.movie_title, movie.release_year, cast.movie_title, cast.release_year
from MOVIE movie, CAST_MEMBER cast
join ACTOR actor on(actor.actor_name = cast.actor_name)
where movie.movie_title = cast.movie_title and movie.release_year = cast.release_year
group by cast.movie_title, cast.release_year, cast.actor_name;
而且,你不應該將兩者攪和加入符號,所以最好這樣寫:
select movie.movie_title, movie.release_year, cast.movie_title, cast.release_year
from MOVIE movie
join CAST_MEMBER cast on (movie.movie_title = cast.movie_title and movie.release_year = cast.release_year)
join ACTOR actor on(actor.actor_name = cast.actor_name)
group by cast.movie_title, cast.release_year, cast.actor_name;
謝謝你,我會記住這一點。另外,同樣的問題。在執行查詢時,我得到第1行的錯誤RROR: ORA-00979:不是GROUP BY表達式 這是否意味着我需要在查詢中的某處包括COUNT,SUM等? 感謝您的迴應和幫助。 – Maddy 2014-10-19 10:27:27
@Mani看看這裏的解釋http://stackoverflow.com/a/1520641/2947592 – wvdz 2014-10-19 10:29:18