I'm wondering if there is an easier way to write the query below. In a nutshell the outcome of the query is to sum all the oscar awards the movie Titanic has won and the awards are contained in different tables. This script works but seems convoluted.
SELECT title, production_year,
COUNT(*) + (crew.c + director.c + writer.c + actor.c) AS Oscars
FROM movie_award,
(SELECT COUNT(*) AS c
FROM crew_award
WHERE result = 'won'
AND title = 'Titanic'
AND award_name = 'Oscar') AS crew,
(SELECT COUNT(*) AS c
FROM director_award
WHERE result = 'won'
AND title = 'Titanic'
AND award_name = 'Oscar') AS director,
(SELECT COUNT(*) AS c
FROM writer_award
WHERE result = 'won'
AND title = 'Titanic'
AND award_name = 'Oscar') AS writer,
(SELECT COUNT(*) AS c
FROM actor_award
WHERE result = 'won'
AND title = 'Titanic'
AND award_name = 'Oscar') AS actor
WHERE result = 'won'
AND title = 'Titanic'
AND award_name = 'Oscar'
GROUP BY crew.c, director.c, writer.c, actor.c, title, production_year;