Select (case when 课程 = '物理' then 成绩 else 0 end) as 物理,
(case when 课程 = '化学' then 成绩 else 0 end) as 化学,学期,考试日期
from 成绩总表 where 学号 = '001'

解决方案 »

  1.   

    select * from 成绩总表 where 学号='001' and 考试类型='期中'                  001号学生李见一期中考试成绩                 物理   化学     学期  考试日期
                     90     100    第一学期  2003
                     110    120    第二学期  2003
                     90     100    第一学期  2002
                     110    120    第二学期  2002select * from 成绩总表 where 学号='001' and 考试类型='期末'       
                      001号学生李见一期末考试成绩
                    物理   化学     学期  考试日期
                    110    110    第一学期  2003
                    70     60     第一学期  2002select * from 成绩总表 where 学号='001' and 考试类型='会考'                 
                      001号学生李见一会考考试成绩                物理   化学     学期    考试日期
                    110    123    第一学期    2002
                    98            第二学期    2002
      

  2.   

    Select (case when 课程 = '物理' then 成绩 else 0 end) as 物理,
    (case when 课程 = '化学' then 成绩 else 0 end) as 化学,学期,考试日期
    from 成绩总表 where 学号='001' and 考试类型='期中'                  001号学生李见一期中考试成绩                 物理   化学     学期  考试日期
                     90     100    第一学期  2003
                     110    120    第二学期  2003
                     90     100    第一学期  2002
                     110    120    第二学期  2002Select (case when 课程 = '物理' then 成绩 else 0 end) as 物理,
    (case when 课程 = '化学' then 成绩 else 0 end) as 化学,学期,考试日期
    from 成绩总表 where 学号='001' and 考试类型='期末' 
          
                      001号学生李见一期末考试成绩
                    物理   化学     学期  考试日期
                    110    110    第一学期  2003
                    70     60     第一学期  2002Select (case when 课程 = '物理' then 成绩 else 0 end) as 物理,
    (case when 课程 = '化学' then 成绩 else 0 end) as 化学,学期,考试日期
    from 成绩总表 where 学号='001' and 考试类型='会考' 
                    
                      001号学生李见一会考考试成绩
                    物理   化学     学期    考试日期
                    110    123    第一学期    2002
                    98            第二学期    2002
      

  3.   

    谢谢高手!!
    按上方法:Select (case when 课程 = '物理' then 成绩 else 0 end) as 物理,
    (case when 课程 = '化学' then 成绩 else 0 end) as 化学,学期,考试日期
    from 成绩总表 where 学号='001' and 考试类型='期中'得到以下结果:                   001号学生李见一期中考试成绩                 物理   化学     学期  考试日期
                     90     0.0    第一学期  2003
                     0.0    100    第一学期  2003
                     0.0    120    第二学期  2003
                     110    0.0    第二学期  2003
                     90     0.0    第一学期  2002
                     0.0    100    第一学期  2002
                     110    0.0    第二学期  2002
                     0.0    120    第二学期  2002
    再请教一下在以上基础上如何得到以下结果:
                     001号学生李见一期中考试成绩                 物理   化学     学期  考试日期
                     90     100    第一学期  2003
                     110    120    第二学期  2003
                     90     100    第一学期  2002
                     110    120    第二学期  2002
      

  4.   

    try:Select sum(case when 课程 = '物理' then 成绩 else 0 end) as 物理,
    sum(case when 课程 = '化学' then 成绩 else 0 end) as 化学,学期,考试日期
    from 成绩总表 where 学号='001' and 考试类型='期中'
    group by 学期,考试日期