请各位高手帮帮我!
--编写成绩处理的函数,返回表的形式
create function avg_zhou()
returns table
as
return(select ave_chj.stu_num, ave_chj.course_code, ave_chj.course_score=case
when min(ave_chj.course_score)<60 and max(ave_chj.course_score)>60 then 60
else max(ave_chj.course_score) end
from ave_chj,ave_bixiucourse
group by ave_chj.stu_num, ave_bixiucourse.courselike_code
where Charindex(ave_chj.course_code, ave_bixiucourse.courselike_code)>0
)
)
go
总是提示我第五行有语法错误!
怎么修改,大致意思就是将ave_chj存放的是成绩记录,ave_bixiucourse存放的是必修的课程记录.
就是将每个人的必修课程成绩给处理一下.
有重修的记录并且有高于60的记录就取60,否则都是取最高分.
有的同学重修的时候,当年重修的那门课程已经停开啦,需要用另外修另外一课来替代.
ave_chj
stu_num course_code course_name course_score
20011604,"3240600","多媒体技术",81
20011604,"3241400","计算机网络B",44
20011604,"3243043","计算机应用基础B",46
20011604,"3243040","计算机应用基础A",77
ave_bixiucourse
course_name course_likecode
计算机应用基础B 3243043,3243040
多媒体技术 3240600
计算机网络B 3241400
(其中计算机应用基础B可以替代计算机应用基础A)
结果应该是
stu_num course_name course_score
20011604 计算机应用基础B 60
20011604 多媒体技术 81
20011604 计算机网络B 44