2013-02-01 22 views
1

我一直在努力尋找一種方法從2表中減去乘法器行嗎?當我不斷從mySQL工作臺收到錯誤時。我如何從2乘法器行中減去? mySQL

我有2個表hotelhotel_stay

我需要得到獨特的房間號,然後減去個人能力

+--------------------+------------------+ 
hotel_stay 
+--------------------+------------------+ 
room (PK) 
99 
99 
10 
10 
10 

+--------------------+------------------+ 
hotel 
+--------------------+------------------+ 
room(FK) | capacity 
99  | 10 
10  | 12 

輸出將在同一個表作爲酒店或將我給我們AS?

room | capacity 
99 | 8  
10 | 9 
+0

您可以再次運行描述您的數據嗎?我試圖編輯它以使其可讀,但我不確定你的表是如何看待的。 – Matthew

回答

1

我不知道我完全理解你的問題。但你可以像我們這樣得到每個房間的總容量:

select h.room, 
    (h.capacity - hs.TotalBooked) as Capacity 
from hotel h 
inner join 
(
    select COUNT(room) as TotalBooked, 
     Room 
    from hotel_stay 
    group by room 
) hs 
    on h.room = hs.room 

請參閱SQL Fiddle with Demo。這將返回結果:

| ROOM | CAPACITY | 
------------------- 
| 10 |  9 | 
| 99 |  8 | 
+0

嗨,謝謝你的回覆,會試試這個 但是1個問題 這個代碼做什麼hs.TotalRoom容量? - 編輯 - OMG!謝謝! 我正在尋找3小時,謝謝你。將此代碼放在一邊以備將來參考 –

+0

@KelvinSeah'hs.TotalRoom'是來自子查詢的計數。我只給了它那個名字,你可以改變別名。 – Taryn

+0

非常感謝它!早該應該問這個問題,而不是找3個小時無濟於事。將保留此爲未來推薦 –