我有两个表,一个包含事件详细信息(名称,时间等),另一个包含客户为每个事件所做的预订记录。我希望能够查询数据库并获取包含事件表中所有字段的结果集合,以及这些事件中每个事件的预订数量,例如:SQL - 根据查询结果从一个表中获取计数
event_name, event_time,total_spaces_available,number_of_bookings
目前我通过循环遍历PHP中的结果来解决这个问题,但是可以在SQL中执行吗?
我希望能够做一些事情,如:
SELECT *, COUNT(SELECT * FROM bookings WHERE event_id=<VARIABLE>) FROM events
但我不知道语法
我在MySQL
我任何帮助,将不胜感激!
这是一个不好的做法,因为如果你有1000个事件,mysql可能会对预订做1000个子查询,每个事件一个。不能保证优化将会起作用,并将其重写为高效。子查询不可取。 – saamorim
@saamorim。 。 。相关的子查询可能是执行此查询的最有效方式,特别是当有“预订(event_id)”索引时。如果您有其他表现的比较,我会有兴趣听到它。 –
这应该没问题 - 检查计划。 – Randy