2016-04-12 9 views

答えて

2

シンプルCASE式はそれを行います:

SELECT 
    Roll, 
    Name, 
    Grade = CASE 
       WHEN Mark <= 60 THEN 'F' 
       WHEN Mark <= 79 THEN 'A' 
       ELSE 'A+' 
      END 
FROM tbl 

ONLINE DEMO

+2

79がまだAとして – Mark

+0

@ Markと考えられているので、2番目のケースは 'WHEN Mark <80'になると思うのですが、代わりに' <= 'を使用するのを忘れました –

1

あなたはWHEN CASEを使用して...またはグレード表

SELECT t.Roll, t.Name, g.Grade 
FROM yourtable t 
     outer apply 
     (
      select x.Grade 
      from GradeTable x 
      where t.Mark between x.Mark_from and x.Mark_to 
     ) g 

を使用して、グレード表

SELECT Roll, Name, Grade = case when Mark >= 80 then 'A+' 
           when Mark between 61 and 79 then 'A' 
           else 'F' 
           end 
FROM yourtable 

を作成しかし、ビット抜本的なグレーディングシステムではないことができ?あなたはAを取得するか、失敗しました:(

+0

あなたはまだ61でAを取得します。これはいいと思います。 –

関連する問題