标题:求助啊!一共4道题 我们要考试了我不会啊!!
只看楼主
孙启
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-6-23
结帖率:0
已结贴  问题点数:20 回复次数:1 
求助啊!一共4道题 我们要考试了我不会啊!!
11.在本机文件柜中有备份文件“ksdb”,请把它还原到本机中。操作成功后,可以看到该数据库有三个表:“student”表,表示学生基本信息表;“course”表,表示课程基本信息表,其中“Ccredit”表示课程学分;“sc”表,表示学生选课成绩表。
用T-SQL解答下列问题:
①将上述三个表合并,建立一个反映学生整体情况的视图。
②计算统计每个学生所学课程的总学分,但如果学生某门课程成绩不及格,不计入总学分。
③设计一个触发器,当学生修满14个学分,不能再让学生选修课程。
④和李勇同在一系学习的学生成绩增加5分,但超过100时,成绩为100分。
搜索更多相关主题的帖子: course 数据库 文件柜 成绩表 触发器 
2016-06-23 15:59
mywisdom88
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:20 
只能给你点提示
①将上述三个表合并,a.*,b.*,c.* 会出现3个学号的,实际应用是有问题的.
select a.*,b.*,c.* from student a
left join course b on a.学号=b.学号
left join Ccredit c on a.学号=c.学号

②没数据,不好统计,可以用学号来分组统计  group by 学号

③当学生修满14个学分,就是说,更新总学分时,触发
create trigger [dbo].[tr_Ccredit]
on [dbo].[Ccredit]
after update
as
begin
-----这里就是你要干的活了,比如你Ccredit 还有个字段,叫"毕业"
update Ccredit set 毕业='是' where 总分>=14
end
④用到 (case when ... then ... else ... end)
update 成绩表 set 成绩=(case when 成绩+5>=100 then 100 else 成绩+5 end) where 系='李勇的系'

李勇的系怎么查出来?
select 系 from student where 学生='李勇'
SQL2000支持下面这样的语句
update 表 set 字段=XXX from 另外表 where 表.字段=另外表.字段



2016-06-23 17:22



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-466284-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.982660 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved