有一张表,里面有3个字段:语文,数学,英语。其中有3条记录分别表示语文70分,数学80分,英语58分,请用一条sql语句查询出这三条记录并按以下条件显示出来(并写出您的思路):
大于或等于80表示优秀,大于或等于60表示及格,小于60分表示不及格。
显示格式:
语文数学英语
及格优秀不及格

解决方案 »

  1.   

    用case     then
      

  2.   


    select 字段名= case when 成绩 > 60 then '及格' case when 成绩 > 80 then '优秀' case when 成绩 < 60 then '不及格' end from 表名
      

  3.   

    select CASE WHEN 语文>= 80 THEN '优秀' 
                WHEN 语文>=60 AND 语文 <80  THEN '及格'
                else '不及格' end as 语文from  Table1
      

  4.   


    --你说的是3个字段是语文,数学,英语
    --那表就应该是:
    -- YuWen YinYu ShuXue
    --   70    58    80
    --   ..    ..    ..
    --   ..    ..    ..select 
    case 
       when YuWen <60 then '不及格' 
       when YuWen>=60 and YuWen<=70  then '及格' 
       when YuWen>=80 then '优秀'
    end 'YuWen',
    case 
       when YinYu <60 then '不及格' 
       when YinYu>=60 and YinYu<=70  then '及格' 
       when YinYu>=80 then '优秀'
    end 'YinYu',case 
       when ShuXue <60 then '不及格' 
       when ShuXue>=60 and ShuXue<=70 then '及格' 
       when ShuXue>=80 then '优秀'
    end 'ShuXue'
    from test
      

  5.   

    面试题吧?这么简单的。。
    select case when (语文>80 or 语文=80) then '优秀' when >80语文>60 then '及格' end
    as 语文  from 表