注册 登录
编程论坛 SQL Server论坛

根据学生的系别修改学生所学课程的成绩,如果是计算机系学生,成绩增加1%;如果是经管系的学生,成绩增加2%;如果是电子系的学生,成绩增加3%

花脸 发布于 2017-06-12 22:28, 1854 次点击
只有本站会员才能查看附件,请 登录

求解求解。。。
3 回复
#2
林月儿2017-06-13 00:01
对第三个表进行更新,判断条件设为学号在第一个表的某课程对应学号集合中。这样得三个语句了,可以查查case语句,把三个分支穿起来。
#3
mywisdom882017-06-13 09:51
update 课程 set 学分=4 where 课程号=2

select * from 学生 where 年龄 > 18 order by 学号 desc

select a.学号,a.姓名,a.性别 from 学生 a,课程 b,学习 c
where a.学号=c.学号 and b.课程号=c.课程号 and c.成绩 >80 and b.学分=4

select 学号,avg(成绩) as 平均分 from 学习 order by 学号 desc group by 学号


update 学习 set 成绩 = (case when b.系列='计算机系' then a.成绩*1.01 else
                             (case when b.系列='经管系' then a.成绩*1.02 else
                                   (case when b.系列='电子系' then a.成绩*1.03 else a.成绩 end)
                             end )
                        end)
from 学习 a,学生 b where a.学号=b.学号

#4
花脸2017-06-13 23:19
回复 3楼 mywisdom88
好的谢谢你。。
1