MySQL查询选择日期范围内的所有记录,不包括日期间隔

时间:2017-07-05 15:35:20

标签: mysql sql

我的MySQL表就像这样

TOURS 
| id | date_active_from | date_active_to
| 1 | 2017-01-01 | 2017-12-31
| 2 | 2017-06-01 | 2017-09-15
| 3 | 2017-07-01 | 2017-10-20
| 4 | 0000-00-00 | 0000-00-00

我有两个选择字段来搜索特定时间范围内的活动

SELECT *
FROM tours
WHERE ( ( date_active_from <= userdatefrom OR date_active_from = '0000-00-00' ) AND ( date_active_to >= userdateto OR date_active_to = '0000-00-00' ) )

现在我们想添加一个或多个巡视不活动的时间间隔,如

| id | date_active_from | date_active_to | date_notactive_from | date_notactive_to
| 1 | 2017-01-01 | 2017-12-31 | 0000-00-00 | 0000-00-00 | 
| 2 | 2017-06-01 | 2017-09-15 | 2017-06-10 | 2017-06-20 |
| 3 | 2017-07-01 | 2017-10-20 | 0000-00-00 | 0000-00-00 |
| 4 | 0000-00-00 | 0000-00-00 | 0000-00-00 | 0000-00-00 |

如何查询排除游览未激活的时间间隔?

0 个答案:

没有答案