在sql创建存储过程中

建立一个存储过程pro_new1,用于查询所有学生的学号和数学期中成绩、计算机期中成绩,要求数学期中成绩和计算机期中成绩分别列出。已知数学期中成绩的课程号是1002、计算机期中成绩的课程号是2005

create proc pro_new1
@year char(10)='2012'
as
select 学号 , 成绩 as 数学期中成绩 into #a from table where
课程号='1002' and 年度= @year

select t1.学号 , t1. 成绩 as 计算机期中成绩 , isnull(t2.数学期中成绩,0) from table t1
left outer join #a t2 on t1.学号=t2.学号
and t1.年度= @year
and t1.课程号='2005'
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-07-06
create proc pro_new1
(
@A VARCHAR(50)
)
AS
select 学号, (CASE 学号 WHEN '1002' THEN 成绩 ELSE 0 END) as 数学期中成绩,
(CASE 学号 WHEN '2005' THEN 成绩 ELSE 0 END) as 计算机期中成绩 from table where
学期成 = @A
GO
相似回答
大家正在搜