VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 765|回复: 6

求个SQL语句...有关学籍管理...

[复制链接]

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

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

使用道具 举报

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-2-2 14:36:01 | 显示全部楼层
学号                 姓名        课程名        成绩        学分
0309040214        兰根顺        数据结构        0        6
0309040214        兰根顺        数据库        0        4
0309040214        兰根顺        智能仪器        0        6
0309040214        兰根顺        固体物理        0        5
0309040216        张磊        数据结构        83        6
0309040216        张磊        数据库        93        4
0309040216        张磊        智能仪器        74        6
0309040216        张磊        固体物理        84        5
0303140101        李强        数据结构        75        6
0303140101        李强        数据库        85        4
0303140101        李强        智能仪器        95        6
0303140101        李强        固体物理        65        5
0303140102        李勇        数据结构        54        6
0303140102        李勇        数据库        50        4
0303140102        李勇        智能仪器        53        6
0303140102        李勇        固体物理        35        5
0303140103        周洁        数据结构        77        6
0303140103        周洁        数据库        87        4
0303140103        周洁        智能仪器        97        6
0303140103        周洁        固体物理        67        5
---------------------------------------------------
课程号        课程名        学分        课程类型        课程说明        开学学年
                                       
1        高等数学        6        必修        公共课        1
2        信号系统        5        必修        通信系        1
3        通信原理        6        必修        通信系        1
4        大学英语        5        必修        公共课        1
5        数据结构        6        必修        计算机系        2
6        数据库        4        必修        计算机系        2
7        智能仪器        6        必修        电子系        2
8        固体物理        5        必修        电子系        2
9        存储技术        4        必修        电子系        3
--------------------------------------------------
学号                 姓名        性别        出生年份                班级        所在系        备注
0309040217        杜建文        男        1984-9-20                 03090402        计算机    休学
0303140101        李强        男        1984-10-20        03031401        电子系        班长
0303140102        李勇        男        1999-11-11        03031401        电子系       
0303140103        周洁        女        1984-12-12        03031401        电子系        留级
0309040216        张磊        男        1985-5-15                 03090402        计算机       
0309040218        黄河        男        1983-3-20                 03090402        计算机       
0309040220        李文江        男        1984-9-22                 03090402        计算机       
回复

使用道具 举报

1

主题

11

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-2-6 15:30:02 | 显示全部楼层
select 基础信息表.学号,基础信息表.姓名,临时.总挂学分 from
(select sum(学分) as 总挂学分,学号 from 成绩表 where 成绩<60 group by 学号) 临时,基础信息表
where 临时.学号=基础信息表.学号 and 基础信息表.备注<>'已留级' and 基础信息表.备注<>'休学' and 临时.总挂学分<最高准挂学分
回复

使用道具 举报

1

主题

11

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-2-6 16:00:01 | 显示全部楼层
临时.总挂学分>最高准挂学分
回复

使用道具 举报

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-2-8 11:15:02 | 显示全部楼层
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了...
回复

使用道具 举报

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-2-10 15:15:01 | 显示全部楼层
忘了把最后的最高准挂学分换成具体值了....
不过是不报错了...但是查不出应该把李勇留级啊....
怎么回事呢...- -
回复

使用道具 举报

1

主题

11

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-7-4 19:45:01 | 显示全部楼层
“临时” 是 (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.总挂学分>最高准挂学分"
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表