四、原表: 
courseid coursename score 
------------------------------------- 
1 java 70 
2 oracle 90 
3 xml 40 
4 jsp 30 
5 servlet 80 
------------------------------------- 
为了便于阅读,查询此表后的结果显式如下(及格分数为60): 
courseid coursename score  
--------------------------------------------------- 
1 java 70 pass 
2 oracle 90 pass 
3 servlet 80 pass 
4 xml 40 fail
5  jsp 30 fail 

解决方案 »

  1.   

    select *,
     = case when score >= 60 then 'pass' else 'fail' end 
    from table
      

  2.   

    SELECT 
        courseid,
        coursename,
        score,
        case when score>=60 then 'pass' else 'fail' end as 
    from 表名
      

  3.   

    可能大家没注意到,原记录和使用查询语句后记录的变化,'PASS'的记录在前面哟!
      

  4.   

    我有一点不明白就是你那个courseid怎么会变~~~SELECT 
        courseid,
        coursename,
        score,
        case when score>=60 then 'pass' else 'fail' end as 
    from 表名
    order by case when score>=60 then 0 else 1 end
      

  5.   

    不知道,这只是个例题,我想他出这个题也有它的理由吧
    不能得新刷新第一个字段列吗?前题为该列不是定义的IDENTITY
      

  6.   

    楼主是不是买盗版书了~~~看字面意思应该是
    courseid/coursename/score
    课程标识/课程名称/成绩课程标识怎么可以变呢!?