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;
Stále mám chybu, že hovoriť jediné poddotazovanie vráti viacero riadkov v Oracle.
Môže mi niekto pomôcť vyriešiť tento problém?
odpovede:
2 pre odpoveď č. 1Je samozrejmé.V nasledujúcom riadku
where a.person.name= ( select b.director.name from movie b, movie_roles a where b.director.name=a.person.name)
dostanete viac ako jeden výsledok, takže nemôžete použiť "=". vyskúšať
where a.person.name IN( select b.director.name from movie b, movie_roles a where b.director.name=a.person.name)