姓名     分数
     小明     50
     小红    100      少于  60  为不及格
       61-  90   及格
      91-100     优秀
     
      查询显示:
      
       姓名     等级
       小明      不及格
       小红      优秀
   这个怎么弄,我不会。好久没有玩这数据库了

解决方案 »

  1.   

    select 姓名, case when 分数<60 then '不及格' when 分数<90 then '及格' else '优秀' end as 等级 from tb 
      

  2.   

    select 姓名, case when 分数<60 then '不及格' when 分数<90 and 分数>=60 then '及格' else '优秀' end as 等级 
    from tab 
      

  3.   

    select 姓名, case when 分数<60 then '不及格' when 分数<90 then '及格' else '优秀' end as 等级 
    from tb 
      

  4.   

    select 姓名, 等级=case when 分数<60 then '不及格' when 分数>90 then '优秀' else '及格' end  
    from tb 
      

  5.   

    select 姓名, case when 分数<60 then '不及格' when 分数<90 then '及格' else '优秀' end as 等级 from tb 
      

  6.   

    declare @Course table (姓名  varchar(10),分数 int) 
    insert into @Course 
    select '小明', 50
    union all select '小红',100
    select 姓名,case when 分数<60 then '不及格' when 分数<75 and 分数>=60 then '及格' when 分数<100 and 分数>=75 then '优秀' when 分数=100 then '满分' end as 等级 from @Course   
      

  7.   

    SELECT 姓名,
        分数=
          CASE  
          WHEN 分数<60 THEN '不及格' 
          WHEN 分数>=60 AND 分数<=90 THEN '及格'             
          WHEN 分数>90 AND 分数<=100 THEN '优秀'
          END
    FROM 表名
      

  8.   

    select 姓名=name,成绩=case
            when s < 60 then '不及格'
    when s >= 60 and s < 90 then '及格'
    else '优秀'
         end from 
      

  9.   

    SELECT 姓名, 
        分数= 
          CASE  
          WHEN 分数 <60 THEN '不及格' 
          WHEN 分数>=60 AND 分数 <=90 THEN '及格'            
          WHEN 分数>90 AND 分数 <=100 THEN '优秀' 
          END 
    FROM 表名