我有三个表:事件,地点和预订。 活动有许多景点(日期时间)和 景点有很多预订。两个一对多的关系 - 每个事件有很多点,每个点有很多预订
我在景点表中有'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个预订 –
向我们显示您的餐桌数据,以便我们不必猜测。 –
我已经添加了两张表的屏幕截图。请看看它。 –