So i have 2 tables, one its “Movies”(movie,type,lenght) and one “Cast”(title_movie,id_actor) and i have to count in how many “SF” Movies every actor played.
I tried this:
SELECT id_actor, Count(type) FROM Cast, Movies WHERE type='SF' and title_movie=movie GROUP BY id_actor;
and it only shows me the actors that has at least 1 SF movie, the ones with 0 movies are not displayed. Any ideas?
Advertisement
Answer
LEFT JOIN
to get all actors. To count SF movies only, use a case
expression to do conditional aggregation.
SELECT id_actor, sum(case when type = 'SF' then 1 else 0 end) FROM Cast LEFT JOIN Movies ON title_movie = movie GROUP BY id_actor;