首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >验证mysql行是否与另一行有冲突

验证mysql行是否与另一行有冲突
EN

Stack Overflow用户
提问于 2014-08-02 23:35:54
回答 1查看 46关注 0票数 0

我正在为我工作的学校建立一个资源预约系统。资源只保留40分钟(这是类持续的时间)。

资源分为4类:

1-学龄前儿童

2-初等

3-一楼高中

4-高中,二楼

时间表分为不同的时间跨度:

1-托儿所

2-预和尚

3-更仁慈

4-小学(一年级-三年级)

5-小学(4年级-6年级)

6-高中(7年级-9年级)

7-高中(10年级及以上)

有时,有一种情景,一年级到三年级学生休息,四年级到六年级学生在课堂上。休息15分钟,上课40分钟。有时,在日程安排上存在冲突,如果允许用户保留资源,该资源将被另一个用户使用至少10分钟,这种情况在preschoolelementaryhigh school上都会发生。

我的DB预订表结构如下:

我有两个字段,我认为这将帮助我确定预订是否会造成冲突:RESERVATIONDUEDATERESERVATIONEXPIREDATE,它们都是datetime,有我需要的信息。我很难想象如何进行查询来验证是否会发生冲突。

到目前为止,我有一个类似于以下查询的函数:

代码语言:javascript
复制
     SELECT T1.SCHEDULE_START, T1.SCHEDULE_END
FROM reservation T4
JOIN schedule_intermediate T1 ON T4.SCHEDULEID_GENERATED = T1.SCHEDULEID_GENERATED
JOIN schedule_type T2 ON T1.SCHEDULE_TYPE_ID = T2.SCHEDULE_TYPE_ID
JOIN schedule T3 ON T1.SCHEDULEID = T3.SCHEDULEID
WHERE (
SELECT COUNT( * ) 
FROM reservation R
INNER JOIN schedule_intermediate SI ON R.SCHEDULEID_GENERATED = SI.SCHEDULEID_GENERATED
WHERE R.RESOURCEID =456
AND SI.SCHEDULE_TYPE_ID =4
AND R.RESERVATIONDUEDATE !=  '2014-08-06 07:35:00'
AND R.RESERVATIONEXPIREDATE !=  '2014-08-06 08:35:00'
AND(( SI.SCHEDULE_START < T1.SCHEDULE_START AND SI.SCHEDULE_END > T1.SCHEDULE_START ) 
    OR ( SI.SCHEDULE_START < T1.SCHEDULE_END AND SI.SCHEDULE_END > T1.SCHEDULE_END ))
) = 0

该查询只打算选择RESOURCEIDSCHEDULE_TYPE_ID、“SCHEDULE_START”和“SCHEDULE_END”与查询中提供的信息不相同的可用schdule时间段。

此时,我甚至不确定查询的结构是否正确,因为这个查询的结果是:

我真正想要的是那些属性与所提供的不一样的时间。

EN

回答 1

Stack Overflow用户

发布于 2014-08-02 23:52:43

我正试着把我的头放在你需要的东西上。试试这个..。做一个和你做的类似的搜索..。

代码语言:javascript
复制
WHERE R.RESOURCEID =456
AND SI.SCHEDULE_TYPE_ID =4
AND R.RESERVATIONDUEDATE >=  '2014-08-06 07:35:00'
AND R.RESERVATIONEXPIREDATE <=  '2014-08-06 08:35:00'

如果查询返回0行,则不会发生冲突。

目前,您的查询返回该行,因为Schedule_Start是07:50,不等于07:35:00?

此外,这是否适用于经常性会话,如果是的话..。您是如何以时间戳格式在DB中管理这一点的?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25100314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档