學校每次考試要按上次考試成績從高到低排列,學生按這個排列安排試室及座位。考試大提示但每次考試都有學生缺考或有新轉(zhuǎn)學進來的學生,這部份學生不會出現(xiàn)在上面的成績排列中。
這段SQL代碼就是找出這些學生,做相應處理。
相關表:
ClassList 學生編班表
字段意義 字段名稱
學年 ClassYear
年級 Grade
班別 Class
學生編號 LearnNo
...... ......
TestSeatList 考試座位安排表
字段意義 字段名稱
考試編號 TestNo
年級 Grade
試室號 Room
座位號 Seat
學生編號 LearnNo
...... ......
上面兩個表通過LearnNo相關聯(lián),因為學生編號只有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
...... ......
TestSeatList 考試座位安排表
字段意義 字段名稱
考試編號 TestNo
年級 Grade
試室號 Room
座位號 Seat
學生編號 LearnNo
...... ......
上面兩個表通過LearnNo相關聯(lián),因為學生編號只有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

