2016-04-12 16 views
0

Durumuna bağlı olarak sütun adını ve değerini değiştirmek istiyorum. Benim masaDurumuna bağlı olarak sütun adı ve değeri nasıl değiştirilir?

Roll Name Mark 
3 Chaity 87 
1 Anis 75 
4 Unknown 30 
2 Badol 0 

.. Ve ben gibi olsun istiyorum bu Mark ve Sınıf haritalama aşağıdaki gibidir

Roll Name Grade 
3 Chaity A+ 
1 Anis A 
4 Unknown F 
2 Badol F 

:

0 to 60 is F 
61 to 79 is A 
80 and above is A+ 

cevap

2

Basit CASE ifade yapacak :

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

ONLINE DEMO

+2

Sanırım ikinci vaka "80 ZAMAN <80" olacaktı, çünkü 79 hala A – Mark

+0

@ Mark olarak kabul edildi. Teşekkürler. <= 'Yerine . –

1

sen ZAMAN CASE yazılımını kullanırken ... ya da Sınıf tablo

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 

kullanarak Sınıf tablo

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

oluşturmak Ama biraz zorlama sınıflandırma sistemi değildir edebilirsiniz ? Ya bir A aldınız ya da başarısız oldunuz :(

+0

Hala güzel olduğunu düşündüğüm 61 yaşında bir A alıyorsun. –

İlgili konular