-4

我有一个非常棘手的问题。这个节目是关于学校的时间表。我想在我的数据库中找到一个范围内的时间。我正在使用 C# 和 MSSQL 2012。下面是我的数据库架构。

http://upic.me/show/47164036

  1. cr_id 是教室 ID。
  2. tch_id 是teacher_id。
  3. std_gro 是学生组 ID。
  4. start_time 是主题开始的时间。
  5. 结束时间是主题完成的时间。
  6. 小时是主题花费的一个小时。
  7. subj_id 是主题 ID。
  8. day_set 是一天中的数字(例如 1=星期一)。

我想检查跨学科、教师、cr 和学生的重复项,但我该如何检查呢?

我努力了:

步骤1:

select * from Action_Classroom where ((start_time <= 9) and (end_time > 9)) and dat_set = 2

第2步:

select * from Action_Classroom where (end_time between 9 and 9+x) and dat_set = 2 ; 

在一个循环中,我将小时的值作为 x 发送。

但我不知道如何检查重复时间。

如果有人给我一些例子,请告诉我,非常感谢。

4

1 回答 1

0
Select * 
from Action_Classroom as a join Action_Classroom as b
on a.cr_id = b.cr_id
and a.tch_id= b.tch_id
and a.day_set = b.day_set
and a.subj_id= b.subj_id
and a.start_time <= b.end_time
and b.start_time <= a.end_time
于 2013-09-20T19:08:42.457 回答