Mysql 从主表中选择位于另一个表中的两个日期之间的日期
我有两张桌子。一个是有很多日期的主桌。另一个是具有eventStart和eventEnd日期的范围表。所以我需要的是将Range表与Main表一起使用,并获得所有日期,这些日期介于开始日期和结束日期之间 这是一张有所有日期的桌子Mysql 从主表中选择位于另一个表中的两个日期之间的日期,mysql,sql,date,Mysql,Sql,Date,我有两张桌子。一个是有很多日期的主桌。另一个是具有eventStart和eventEnd日期的范围表。所以我需要的是将Range表与Main表一起使用,并获得所有日期,这些日期介于开始日期和结束日期之间 这是一张有所有日期的桌子 mainTable 2014-01-01 00:01:00 2014-01-01 00:02:00 2014-01-01 00:03:00 2014-01-01 00:04:00 2014-01-02 00:01:00 2014-01-02 00:02:00
mainTable
2014-01-01 00:01:00
2014-01-01 00:02:00
2014-01-01 00:03:00
2014-01-01 00:04:00
2014-01-02 00:01:00
2014-01-02 00:02:00
2014-01-03 00:01:00
2014-01-03 00:05:00
这是包含起始和结束范围的表格
rangeTable
event date
start 2014-01-01 00:00:00
end 2014-01-01 00:03:00
start 2014-01-02 00:00:00
end 2014-01-02 00:05:00
start 2014-01-03 00:00:00
end 2014-01-03 00:06:00
结果可能是这样的
event date
start 2014-01-01 00:00:00
between 2014-01-01 00:01:00
between 2014-01-01 00:02:00
between 2014-01-01 00:03:00
end 2014-01-01 00:03:00
start 2014-01-02 00:00:00
between 2014-01-02 00:01:00
between 2014-01-02 00:02:00
end 2014-01-02 00:05:00
start 2014-01-03 00:00:00
between 2014-01-03 00:01:00
between 2014-01-03 00:02:00
between 2014-01-03 00:05:00
end 2014-01-03 00:06:00
谢谢大家;) 试试这个:
select * from mainTable m left join rangeTable r on m.date between r.start_date and r.end_date
没有类似“结束日期”或“开始日期”字段的字段。存在具有开始事件和结束事件的日期。我需要列出带有开始事件的日期和带有结束事件的日期,以及这些日期之间的日期