学校每次考试要按上次考试成绩从高到低排列,学生按这个排列安排试室及座位。青年人网站提示但每次考试都有学生缺考或有新转学进来的学生,这部份学生不会出现在上面的成绩排列中。
这段SQL代码就是找出这些学生,做相应处理。
相关表:
ClassList 学生编班表
字段意义 |
字段名称 |
学年 |
ClassYear |
年级 |
Grade |
班别 |
Class |
学生编号 |
LearnNo |
...... |
...... |
|
|
|
|
TestSeatList 考试座位安排表
字段意义 |
字段名称 |
考试编号 |
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
责任编辑:小草