【发布时间】:2016-09-26 03:39:24
【问题描述】:
这里是查询:
SELECT `mainevents`.`maineventid` AS `MainEventID`,
`mainevents`.`maineventcode` AS `MainEventCode`,
`mainevents`.`datestart` AS `DateStart`,
`mainevents`.`dateend` AS `DateEnd`,
`mainevents`.`location` AS `Location`,
`mainevents`.`name` AS `Name`
FROM `mainevents`,
`mainevents_lookup`
WHERE `mainevents`.`maineventid` = `mainevents_lookup`.`maineventid`
AND `mainevents`.`categoryid` = 1
AND ( ( `mainevents_lookup`.`datestart` >= '2016-02-27 00:00:00'
AND `mainevents_lookup`.`datestart` <= '2016-05-27 11:59:59' )
OR ( `mainevents_lookup`.`dateend` >= '2016-02-27 00:00:00'
AND `mainevents_lookup`.`dateend` <= '2016-05-27 11:59:59' )
OR ( `mainevents_lookup`.`dateend` <= '2016-05-27 11:59:59'
AND `mainevents_lookup`.`datestart` >= '2016-02-27 00:00:00'
) )
LIMIT 0, 30
它正在尝试查找日期在所选两个日期范围内的列表。 DateStart 是 '2016-02-27 00:00:00' 而 DateEnd 是 '2016-05-27 11:59:59'
由于某种原因,它不断给我想要找到的相反结果。我知道答案就在眼前,谁能帮帮我?
【问题讨论】:
-
你为什么不使用
BETWEEN还向我们展示了当前的样本数据和预期结果。请阅读How-to-Ask 这里是START 了解如何提高问题质量并获得更好答案的好地方。 -
@Dave 这看起来应该是一个答案,因此您可以正确格式化它。
标签: php mysql date select join