2012-11-14 61 views
0

我有這些表格,我試圖計算出每部電影有多少個售票位。我仍然無法使用它,我只能獲得所有電影售出座位的總數。一個活動的總和

Movie: 
moveID 
mName 

Prog: 
progID 
moveID 
showID 

Show: 
showID 
show start 
show stop 
soldSeats 
progID 

這是在代碼中的一個一直在努力:

SELECT mName, SUM(soldSeats) 
FROM movie, show 
WHERE movie.movieID = prog.movieID 
AND prog.showID = show.showID 
GROUP BY mName 

有人能幫忙嗎?

+2

這是你一直在使用的SQL嗎?它指的是在哪裏,但不是作爲表。 – DaveRlz

+0

我看到我在這裏寫下時忘了Prog。我確定我在之前使用的代碼中使用了它。無論如何,上面的代碼現在適用於我,我不知道發生了什麼,我花了幾個小時在這個小問題上:| – user1823846

回答

1

您未加入表Prog。另外,您應該在查詢中真正使用正確的顯式連接。

SELECT M.mName, SUM(S.sodSeats) SoldSeats 
FROM Movie M 
LEFT JOIN Prog P 
    ON M.movieID = P.movieID 
LEFT JOIN Show S 
    ON P.showID = S.showID 
GROUP BY M.mName 
+0

你能否限定你的最後一個「你應該真正使用正確的顯式連接」 - 我已經看到過之前提到過的,他做了什麼錯? – DaveRlz

+1

@DaveRlz http://stackoverflow.com/questions/5654278/sql-join-is-there-a-difference-between-using-on-or-where – Lamak

+0

感謝您的回覆,但我沒有得到這個代碼它應該的方式,它列出了soldseats的所有組合,未總結。然而我用「Prog」寫的代碼現在正在工作。 – user1823846

相關問題