3个学生表...
一个基础信息表(学号,姓名,备注)一个课程表(课程号,课程名,学分,)一个成绩表(学号,姓名,课程名,成绩,学分)
要求是对留级的学生进行管理,成绩不够60的挂掉相应学分...挂够相应学分就留级...备注中有已留级的和休学的不再留级...
原本成绩表中没有学分的...我是为了少连个表就给加了进来..可以的话不用最好了...
环境是VB6.0....ACCESS做数据库...
小弟初学数据库...正赶做课程设计...明天就要交了...只差这一句话了...原本有个报表...不过一开始便放弃了...各位大大多多帮忙啊...
也不知道说明白了没...在线等...边补充...

解决方案 »

  1.   

    select 基础信息表.学号,基础信息表.姓名,临时.总挂学分 from
    (select sum(学分) as 总挂学分,学号 from 成绩表 where 成绩<60 group by 学号) 临时,基础信息表
    where 临时.学号=基础信息表.学号 and 基础信息表.备注<>'已留级' and 基础信息表.备注<>'休学' and 临时.总挂学分<最高准挂学分
      

  2.   

    Private Sub Command2_Click()Adodc1.RecordSource = "select stu.学号,stu.姓名,grade.总挂学分 from(select sum(学分) as 总挂学分,学号 from grade where 成绩<60 group by 学号) grade,stu where grade.学号=stu.学号 and stu.备注<>'已留级' and stu.备注<>'休学' and grade.总挂学分>最高准挂学分"Adodc1.Refresh
    End Sub写出来是这样么...?但是有错误...说  至少一个参数没有被指定值....
    那的错呢...
    那个临时不知道是说哪个表啊...第一个表是grade 第二个是 course 第三个是stu了...
      

  3.   

    “临时” 是 (select sum(学分) as 总挂学分,学号 from grade where 成绩<60 group by 学号)查询的结果集,并不是一个真正的表,你已经有一个表名字为grade了,你可以用另一个名字来代替,比如t_grade,不然可能会有问题Adodc1.RecordSource = "select stu.学号,stu.姓名,t_grade.总挂学分 from(select sum(学分) as 总挂学分,学号 from grade where 成绩<60 group by 学号) t_grade,stu where t_grade.学号=stu.学号 and stu.备注<>'已留级' and stu.备注<>'休学' and t_grade.总挂学分>最高准挂学分"