2013-10-14 2 views
-1

Как бы я запросил эти 4 таблицы, чтобы увидеть актеров, которые находятся в Apocalypse Now?простой запрос SQLite

Studio Table 
studioID studioName 
-------- -------- 
1   Lucasfilm 
2   Amblin Entertainment 
3   Zoetrope Studios 

Movie Table 
movieID movieName  studioID castID 
-------- --------  -------- -------- 
1   Star Wars   1   1 
2   Indiana Jones  1   2 
3   Back to the Future 2   3 
4   Apocalypse Now  3   4 

Cast Table 
castID movieID actorID roleName 
-------- -------- -------- -------- 
1   1   1  Han Solo 
2   2   1  Indiana Jones 
3   3   3  Doc Brown 
4   4   1  Colonel Lucas 
5   4   2  Tyrone Miller 

Actor Table 
actorID lastName  firstName 
-------- --------  -------- 
1  Ford   Harrison 
2  Fishburne Laurence 
3  Lloyd  Christopher 

Прямо сейчас я имею в виду:

SELECT Studio.studioName, Movie.movieName, Cast.roleName, Actor.firstName, Actor.lastname 
FROM Studio, Movie, Actor, Cast 

WHERE Cast.castID = Movie.castID and Movie.movieName = 'Apocalypse Now' 

ORDER BY Actor.lastname 

Не совсем уверен, как присоединиться к таблицам. ........

= = = = = = = = =

+0

Вам необходимо использовать внутренние соединения. Прочитайте их, и вы сможете составить свой запрос. –

ответ

2

Попробуйте это ..

SELECT a.* 
FROM Movie m 
LEFT JOIN Cast c on (c.movieID = m.movieID) 
LEFT JOIN Actor a on (a.actorID = c.actorID) 
WHERE m.movieName='Apocalypse Now'; 

, если вам нужно также присоединиться к студии студии таблицы:

SELECT a.actorID, a.firstName, a.lastName, s.studioName 
FROM Movie m 
LEFT JOIN Cast c on (c.movieID = m.movieID) 
LEFT JOIN Actor a on (a.actorID = c.actorID) 
LEFT JOIN Studio s on (m.studioID = s.studioID) 
WHERE m.movieName='Apocalypse Now'; 
+0

Большое вам спасибо! И если я хотел бы вернуть родную студию, фильм и роль вместе с актерами? Теперь я начинаю поиски, но я не знаю, что происходит с твоим. * И Movie m. Я пытаюсь обдумать его, чтобы я мог использовать аналогичный запрос, например, найти фильмы, в которых находится Харрисон Форд. – user2880107

+0

Вы можете заменить a .actorID, a.firstName, a.lastName this в этом случае (a. * означает все столбцы из a). – promanski

+0

Но я не могу SELECT a.actorID, a.firstName, a.lastName x.studioName FROM Movie m, Studio? – user2880107

Смежные вопросы