在范围之间获取日期时发出问题

时间:2016-09-12 09:24:18

标签: mysql database between

我有两张桌子。一个是具有以下模式的大厅。 Hall Table

Events Table

一个大厅可以有很多活动。我想要在两个日期之间可用的大厅。例如2016-09-10和enddate = 2016-09-15之间的大厅。 我希望所有的大厅都没有在整个日期范围内预订,即10,11,12,13,14,15。

2 个答案:

答案 0 :(得分:0)

那么问题是什么? (:

SELECT 
  * 
FROM events
INNER JOIN halls ON (halls.id = events.hallid)
WHERE 
  events.eventdate >= '2016-09-10' AND events.eventdate <= '2016-09-15';

答案 1 :(得分:0)

在内部查询中创建新列,其值为eventdate的timepart 然后使用not in in new column

过滤数据

ex:选择t。* from(select table1 .hallname,table2.eventdate,DAY(table2.eventdate)as tablepart from table1 inner join table2 where eventdate startdate和enddate)as t where t.daypart not in(select从事件表中预订eventdate,即用逗号选择)