2012-03-20 55 views
0

增加值我有兩個表:SQL查詢:選擇從一個表中的條目,並從另一個

酒店和hotel_rooms

我試圖得到一個表與酒店的名字和免費客房。

SELECT h.Hotelname, r.FreeRooms 
FROM hotel h 
INNER JOIN hotel_room r ON r.H_ID = h.H_ID 
WHERE r.H_ID = h.H_ID 

讓我像

Hotel1 27 
Hotel1 14 
Hotel1 9 
Hotel2 7 
Hotel2 21 

但我真正想要的是添加所有這些值,所以我得到:

Hotel1 50 
Hotel2 28 

我希望有人能幫助我

+0

你正在尋找一個'LEFT JOIN ......其中r [某些值] IS NULL' – swasheck 2012-03-20 16:11:31

+2

你'WHERE'條款似乎相當多餘。 – Wiseguy 2012-03-20 16:13:24

+0

我的誤解。我沒有意識到這是免費房間的總數。我雖然認爲房間號是房間號(所以我認爲你是在尋找每間酒店的免費房間)。 – swasheck 2012-03-20 16:14:42

回答

4

您需要Sum()您的結果:

SELECT h.Hotelname, Sum(r.FreeRooms) as FreeRooms 
FROM hotel h 
INNER JOIN hotel_room r 
    ON r.H_ID = h.H_ID 
GROUP BY h.Hotelname 
1

試試這個:

SELECT h.Hotelname, 
     Sum(r.FreeRooms) as Total 
FROM hotel h 
     INNER JOIN hotel_room r 
     ON r.H_ID = h.H_ID 
GROUP BY h.Hotelname 
+0

WHERE子句無用,請參閱INNER JOIN – fancyPants 2012-03-20 16:24:32

+0

@tombom在發佈之前,我已經對其進行了編輯 - 但謝謝! – Bridge 2012-03-20 16:25:48

相關問題