2014-10-22 2 views
0
select distinct a.person.name, b.title,b.director.name 
    from movie_roles a, movie b 
where a.person.name= 
(select b.director.name 
    from movie b, movie_roles a 
    where b.director.name=a.person.name) 
    and b.movieID=a.movie.movieID; 

단일 단일 하위 쿼리가 Oracle에서 여러 행을 반환한다는 오류가 계속 발생합니다.
누구든지이 문제를 해결할 수 있습니까?단일 하위 쿼리는 Oracle에서 여러 행을 반환합니다.

+2

내가 생각하는 조인에 대해 배울 시간 – Strawberry

답변

2

그것은 다음 줄은 "="사용할 수 있도록 하나 개 이상의 결과를 얻을 수

where a.person.name= (select b.director.name from movie b, movie_roles a where b.director.name=a.person.name) 

explanatory.In 자체입니다. 시도하십시오

where a.person.name IN(select b.director.name from movie b, movie_roles a where b.director.name=a.person.name) 
+0

고마워요! "="가 복수 행을 반환 함을 실제로 알았습니다. –

+0

실제로 하위 쿼리는 여러 결과를 반환하므로 '='연산자를 사용할 수 없습니다. – geoandri

관련 문제