我需要针对以下情况编写查询:
3列:“box”,“in”,“out”(框是整数,in和out是日期)
我需要一些东西来测试,如果从“进入”日期到“出去”日期(这些日期之间的时间段),已经给出了某个盒子ID号。
我想做类似的事情:
SELECT COUNT(*) FROM `tbl` WHERE `box` = '#' AND ***period*** BETWEEN 'date1' AND 'date2'
(我知道BETWEEN不会以这种方式工作(link),但这只是为了给你一个想法...)
期间 =我试图在数据库中注册的新日期
所以,如果查询返回“0”,我知道我可以在这些日期分配这个方框#,如果不是,我知道我不能。自上周以来我就被困在这里!! X(
答案 0 :(得分:0)
我想你要么:
SELECT COUNT(*) FROM tbl WHERE box = '#' AND
`in` =< 'date1' AND out >= 'date1'
OR `in` =< 'date2' AND out >= 'date2'
或
SELECT ... AND
period BETWEEN `in` AND out