0
我想知道是否有更簡單的方法來編寫下面的查詢。簡而言之,查詢的結果是將泰坦尼克號贏得的所有奧斯卡獎和所有獎項包含在不同的表格中。這個腳本可以工作,但似乎令人費解。Postgres腳本更簡單的方法
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;
如果您要顯示錶格和數據,它會更有用。這是從什麼地方下載的?你可以創建一個總結http://sqlfiddle.com/? – 2014-10-01 07:57:45
不,我寫了它,很容易看到腳本中需要的屬性。 – 2014-10-01 08:11:04
@Bob錯誤的態度。 – 2014-10-01 08:30:39