学校每次考试要按上次考试成绩从高到低排列,学生按这个排列安排试室及座位。考试大提示但每次考试都有学生缺考或有新转学进来的学生,这部份学生不会出现在上面的成绩排列中。
这段SQL代码就是找出这些学生,做相应处理。
相关表:
ClassList 学生编班表
TestSeatList 考试座位安排表
上面两个表通过LearnNo相关联,因为学生编号只有9位,而考试答题卡是10位的,所以TestSeatList中的LearnNO是在ClassList的LearnNo前面补"0"的,这里要用Substring把它截出来。
select * from ClassList
where ClassYear=2008 And Grade=2 And LearnNo not in(select Substring(LearnNo,2,9) from TestSeatList Where TestNO=200810 And Grade=2)
Order by learnno
这段SQL代码就是找出这些学生,做相应处理。
相关表:
ClassList 学生编班表
| 字段意义 | 字段名称 |
| 学年 | ClassYear |
| 年级 | Grade |
| 班别 | Class |
| 学生编号 | LearnNo |
| ...... | ...... |
| 字段意义 | 字段名称 |
| 考试编号 | TestNo |
| 年级 | Grade |
| 试室号 | Room |
| 座位号 | Seat |
| 学生编号 | LearnNo |
| ...... | ...... |
上面两个表通过LearnNo相关联,因为学生编号只有9位,而考试答题卡是10位的,所以TestSeatList中的LearnNO是在ClassList的LearnNo前面补"0"的,这里要用Substring把它截出来。
select * from ClassList
where ClassYear=2008 And Grade=2 And LearnNo not in(select Substring(LearnNo,2,9) from TestSeatList Where TestNO=200810 And Grade=2)
Order by learnno
.NET 开发讨论组 QQ技术群24739911,欢迎加入
浙公网安备 33010602011771号