我写的语句 
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
为什么查询后得到的结果是
我想问一下 要怎么才能向下面一样的结果 就是将怎么得到总分不为空 因为有些科目有成绩 却总分为空 不是想要的结果 

解决方案 »

  1.   


    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