declare @specialty varchar(20),@grade varchar(20),@semester varchar(20),@course_kind varchar(20)
set @specialty = '...'
set @grade = '...'
set @semester = '...'
set @course_kind = '...'declare @s varchar(8000)
set @s='select a.stu_ID,a.stu_name'select
@s=@s+',['+course_name+']=max(case b.course_ID when '+rtrim(course_ID)+' then b.course_score end)'
from
course_fix a,course b
where
a.course_ID = b.course_ID and a.specialty = @specialty and a.grade = @grade
and
a.semester = @semester and b.course_kind = @course_kindset @s=@s+' from stu_info a,score b where a.stu_ID=b.stu_ID and a.semester='''+@semester+''' group by a.stu_ID,a.stu_name'exec(@s)
set @specialty = '...'
set @grade = '...'
set @semester = '...'
set @course_kind = '...'declare @s varchar(8000)
set @s='select a.stu_ID,a.stu_name'select
@s=@s+',['+course_name+']=max(case b.course_ID when '+rtrim(course_ID)+' then b.course_score end)'
from
course_fix a,course b
where
a.course_ID = b.course_ID and a.specialty = @specialty and a.grade = @grade
and
a.semester = @semester and b.course_kind = @course_kindset @s=@s+' from stu_info a,score b where a.stu_ID=b.stu_ID and a.semester='''+@semester+''' group by a.stu_ID,a.stu_name'exec(@s)
解决方案 »
- 关于计算数据库平均值的问题
- 关于恢复数据库时出现“媒体簇的结构不正确”的问题 !请大家帮帮忙啊!
- 高分求SQL语句按日期查询后怎么让输出的内容显示在一个字段内
- 一个小问题,求助,你可以帮我的
- 作业调用存储过程的问题
- 横向显示
- 求一个 日期时间型 表达式
- 再送分...分组求最大最小值之后,还要取得该最大最小值出现的时间...(问题已获解决,现寻求可读性最优的代码.)
- ###请进来帮我看看这个问题,是什么原因造成的,关于数据导入的!
- 这个触发器好像没错啊,可是为什么不能正常运作呢?
- 请教关于select 语句中的left join 与left outer join 或left inner join 联接方式的区别....
- 求救呀!! 从不同表中做统计的 SQL语句.超难!(对于我来说)
course表记录课程信息 course_ID课程号course_name课程名course_kind类别(如:选修必修)
course_fix表用来决定课程 所学课程因 专业 年级和学期 而不同
stu_info表用来记录学生信息 stu_ID学号 stu_name姓名 stu_specialty 专业 上面拉了一个stu_grade年级
score表用来记录成绩 学号 课程名 成绩 和 学期
set @specialty = '...' --专业
set @grade = '...' --学年
set @semester = '...' --学期
set @course_kind = '...' --课程种类declare @s varchar(8000)
set @s='select a.stu_ID,a.stu_name'select
@s=@s+',['+course_name+']=max(case b.course_ID when '+rtrim(course_ID)+' then b.course_score end)'
from
course_fix a,course b
where
a.course_ID = b.course_ID
and
a.specialty = @specialty --从课程确定表选择符合专业条件的课程信息
and
a.grade = @grade --从课程确定表选择符合年级条件的课程信息
and
a.semester = @semester --从课程确定表选择符合学期条件的课程信息
and
b.course_kind = @course_kind --从课程表选择符合课程种类条件的课程信息set @s=@s+' from stu_info a,score b where'
+' a.stu_ID=b.stu_ID '
+' and a.stu_specialty ='''+@specialty+'''' --从stu_info表筛选符合专业条件的学生信息
+' and b.semester ='''+@semester +'''' --从score 表筛选符合学期条件的成绩信息
+' group by a.stu_ID,a.stu_name'print @sexec(@s)