有一个.dbf数据库,里面为各年级学生各学期不及格课程的信息。其中有“学号”、“补考课码”字段“补考课码”的组成包涵学期代码。例如“ABCDEF21”即表示该课程是第2学年第1学期上的课。
现在的问题是:怎样编写代码同时查询出某一学期的各年级不及格学生的名单及课程名(即同时将各年级不及格学生一同查出,而不是一个年级一个年级的查)。
现在的问题是:怎样编写代码同时查询出某一学期的各年级不及格学生的名单及课程名(即同时将各年级不及格学生一同查出,而不是一个年级一个年级的查)。
调试欢乐多
select * from tableName where substring(补考课码, len(补考课码), 1) = 学期代码没有的话只能修改你的数据结构了
学号 补考课码 补考次数 补考成绩
0071002 Abcde32 0
0271036 DVFES12 0
9970024 SWERT31 0学号前2位是年级代码,不用解释也能明白。
这三条记录分别表示00级的某同学在第3学年第2学期有某门课不及格;02级某同学第1学年第2学期有某门课不及格;99级某同学在第3学年第2学期有某门课不及格。而00级和02级的同学都是在同一个学期出现了不及格,如何编写代码将他们一同查出来(可能还会有期他年级的同学在这个学期不及格)?
(select inttostr(mod( strtoint(SubString(学号,1,2))+Strtoint(subString(补考课码,6,1)),100))+subString(补考课码,7,1)) from t1y where t1x.学号=t1y.学号)(学号前两位+课码第六位)模100的数值转为字符 再连上 课码第七位:
(00+3)/100 = 3 , 课码最后一位 则为 '32'
(02+1) /100 = 3 ,... '32'
(99+3) /100 = 2 ,... '21'
Where (x.学号=b.学号) and (((b.学号 Like '___02%') and (b.补考课码 Like '%21')) or ((b.学号 Like '___03%') and (b.补考课码 Like '%11')) or ((b.学号 Like '___94%') and (b.补考课码 Like '%22')))
用上述条件即可查出需要的学生。
参与来帖者接分。