-1

我需要针对以下情况编写查询:

3 列:“box”、“in”、“out”(box 是整数,in 和 out 是日期)

我需要一些东西来测试从“输入”日期到“输出”日期(这些日期之间的时间段)是否已经给出了某个盒子 ID 号。

我想做类似的事情:

SELECT COUNT(*) FROM `tbl` WHERE `box` = '#' AND ***period*** BETWEEN 'date1' AND 'date2'

(我知道 BETWEEN 不能以这种方式工作(链接),但这只是为了给你一个想法......)

period = 我尝试在数据库中注册的新日期

所以,如果查询返回“0”,我知道我可以在这些日期分配这个框#,如果不是,我知道我不能。我从上周就被困在这里了!!X(

4

1 回答 1

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
于 2013-03-03T18:46:18.637 回答