-4

私は非常に難しい問題を抱えています。この番組は、学校の時間割についてです。データベースで範囲内の時間を検索したい。私は C# と MSSQL 2012 を使用しています。以下は私の db スキーマです。

http://upic.me/show/47164036

  1. cr_id は教室 ID です。
  2. tch_id は teacher_id です。
  3. std_gro は学生グループ ID です。
  4. start_time は被験者の開始時刻です。
  5. 終了時刻は、対象が終了する時刻です。
  6. hour は被験者がかかる時間です。
  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 に答える