2012-03-20 14 views
0

から値を追加します。SQLクエリ:私は、ホテル名とフリーの部屋でテーブルを取得しようとしている</p> <p>ホテルとhotel_rooms</p> <p>:私は2つのテーブルを持って一つのテーブルからエントリを選択し、別の

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 [一部の値が] NULL' – swasheck

+2

されている場合あなたの'句がかなり冗長なようだWHERE'。 – Wiseguy

+0

私の誤解。私はそれが空き部屋の総数であることを気づかなかった。私は番号が部屋のIDだった(しかし、私はあなたがどの部屋が各ホテルで無料だったかを探していたと思った)。 – swasheck

答えて

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

+0

@tombom投稿前に編集済みですが、ありがとうございます! – Bridge

関連する問題