日期:2014-05-17  浏览次数:20460 次

sql 求和问题 希望得到大家的帮忙
我写的语句 
select *,(计算机基础+程序设计+数据结构) as 总分 from 
(
select s.stuname,m.Majorname,c.couname,sc.score 
from  major as m,student as s,course as c,student_course as sc
where m.majorid = s.majorid and c.couid = sc.couid and s.stuid = sc.stuid
) as a
pivot(sum(score) for couname in(计算机基础,程序设计,数据结构)) as p
为什么查询后得到的结果是


我想问一下 要怎么才能向下面一样的结果 就是将怎么得到总分不为空 因为有些科目有成绩 却总分为空 不是想要的结果 

------解决方案--------------------

select *,(isnull(计算机基础,0)+isnull(程序设计,0)+isnull(数据结构,0)) as 总分 from 
(
select s.stuname,m.Majorname,c.couname,sc.score 
from  major as m,student as s,course as c,student_course as sc
where m.majorid = s.majorid and c.couid = sc.couid and s.stuid = sc.stuid
) as a
pivot(sum(isnull(score,0)) for couname in(计算机基础,程序设计,数据结构)) as p