Write a SQL Query to find the name of those movies where one or more actors acted in two or more movies.
Output Schema:
movie_title
NOTE:
- Output column name has to match the given output schema.
- Any name is the concatenation(without any delimiter) of first and last name if present
- (E.g. if director_first_name is ‘Alfred’ and director_last_name is ‘Hitchcock’ then director_name is ‘AlfredHitchcock’)
Example Output:
movie_title
Vertigo
Schema Design:
Solutions:
- SELECT movie_title
- FROM movies
- JOIN movies_cast
- ON movies_cast.movie_id=movies.movie_id
- JOIN actors
- ON movies_cast.actor_id=actors.actor_id
- WHERE actors.actor_id IN (
- SELECT actor_id
- FROM movies_cast
- GROUP BY actor_id HAVING COUNT(*)>=2);
Good
ReplyDeleteI wrote the following query which didn't work. Can somebody please point out the fault?
ReplyDeleteselect distinct movie_title
from movies_cast natural join movies
group by actor_id
having count(*)>=2;
when you group by actor_id you actually lost all the movie name but keep only 1 from the group by clause. Therefore, it is better if you capture the actor_id only and then select all the movie name that has the actor_id that you have captured
Deleteselect movie_title from movies
where movie_id in (
select movie_id from movies_cast
where actor_id in (
select actor_id from movies_cast
group by actor_id
having count(movie_id) >=2
)
)
Casino de Nacional in Indio, CA - JCM Hub
ReplyDelete› casino-de-nacional-in › 남원 출장안마 casino-de-nacional-in Casino de Nacional in Indio, CA - JCM Hub provides users with the opportunity to live 아산 출장샵 up to their dreams and enjoy 김제 출장마사지 the 서울특별 출장마사지 gaming experience from just a few clicks 순천 출장마사지 of your mouse.