如何查找冲突日期的计数

时间:2012-05-31 10:55:18

标签: database sqlite count conflict

我希望在用户输入下表中已经存在的开始日期和结束日期之间的开始日期和结束日期时限制用户。

例如:用户尝试插入日期开始日期2/6/2012和结束日期4/6/2012;此日期来自下表中的事件e2,因此不允许用户插入它。

 ------------------------------------------------------------------------
 id               event               startdate    enddate
 ------------------------------------------------------------------------
 11                e1                 31/5/2012    1/6/2012
 12                e2                 1/6/2012     4/6/2012
 13                e3                 5/6/2012     6/6/2012
 14                e4                 15/6/2012    16/6/2012

我想找一些与其他事件冲突的事件。

1 个答案:

答案 0 :(得分:0)

select tbl.startdate, count(tbl.startdate)
from YourTable tbl
where 
exists(select * from YourTable tbl2 where ((tbl2.startdate>=tbl.startdate AND tbl2.startdate<=tbl.enddate) OR (tbl2.enddate>=tbl.startdate AND tbl2.enddate<=tbl.enddate)))
group by tbl.startdate