我希望在用户输入下表中已经存在的开始日期和结束日期之间的开始日期和结束日期时限制用户。
例如:用户尝试插入日期开始日期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
我想找一些与其他事件冲突的事件。
答案 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