我有三個表:事件,地點和預訂。 活動有許多景點(日期時間)和 景點有很多預訂。兩個一對多的關係 - 每個事件有很多點,每個點有很多預訂
我在景點表中有'spaces'列,在預訂表中有'spot_id'。而在景點表中,我需要總和所有空格GROUP BY event_id,並在預訂表中我需要計算所有預訂GROUP BY event_id。這兩個表都有event_id。
我需要查詢類似:
select S.event_id, sum(S.spaces), count(B.spot_id)
from spots S, bookings B
where S.event_id = B.event_id;
我需要輸出,如:
Event_id sum(Spaces) count(Bookings)
1 300 60
2 450 120
但由於其一對多的關係,我得到的空間錯總和。如果我有60個預訂= 60行,因此60 *實際sum_of_spaces。那是因爲我有多個單項賽事的點。
如何從表格中獲取event_id和sametime的空間總數獲取所有預定event_id的計數。點表中的行數與預訂中的行數不匹配。
我試着上面的查詢a nd它沒有得到正確的空間總和。我爲事件1和6次預訂提供了62個空間。但是我獲得了438個空間和24個預訂 –
向我們顯示您的餐桌數據,以便我們不必猜測。 –
我已經添加了兩張表的屏幕截圖。請看看它。 –