SQL server 2000将查询结果以一句话的形式输出。题目在下面 20
创建一个存储过程“showscore”,它可以根据接收到的学生的姓名’李艳’按下列格式显示出该学生选的课程数,不及格课程数和平均成绩。结果:李艳同学一共选了1门课程,其中...
创建一个存储过程“showscore”,它可以根据接收到的学生的姓名’李艳’按下列格式显示出该学生选的课程数,不及格课程数和平均成绩。结果:李艳同学一共选了1门课程,其中有1门不及格 ,其平均成绩为25分 表在下面。表中数据不重要,根据需要修改。下面是我写的create procedure showscore@姓名 char(6) ,@str varchar(100) outputas declare @Count int,@uCount int,@AVG FLOATbeginselect @Count=count(课程号),@uCount=count(成绩) as 不及格的课程数 from SC where 学号 in(select 学号 from S where 姓名=@姓名) and 成绩<60 group by 学号select @AVG=AVG(成绩) from SC where 学号 in(select 学号 from S where 姓名=@姓名)Set @str=@姓名+'一共选修了'+cast(@Count as varchar(3))+'门课程,其中有'+cast(@uCount as varchar(3))+'门不及格'+'平均成绩为'+cast(@AVG as varchar(3))+'分'endEXEC showscore '李艳'@str output
展开
1个回答
展开全部
核心查询这样写应该就可以了吧:
Select Cast(姓名 As varchar(20))
+ '同学一共选了'
+ Cast(Count(*) As varchar(12))
+ '门课程,其中有'
+ Cast(Sum(Case When 成绩<60 Then 1 Else 0 End) As varchar(12))
+ '门不及格 ,其平均成绩为'
+ Case(Avg(成绩) As varchar(12))
+ '分'
From ...
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询