SQL Server'da Case-When Yapısı
SQL Serverda Query yazarken binbir sorgularla karşılaşabiliriz. İşte bu sorgulardan biri de Case-When yapısının kullanıldığı sorgulardır. Case-When yapısını C#' taki Switch-Case yapısına benzetebiliriz. İşleyiş şu şekilde:

Bir tane tblGrupSiralamasi adında tablomuz olduğunu varsayalım. Tablomuzun fldGrupKategorisi,fldGrupId,fldGrupSirasi adında fieldları bulunmaktadır.Şimdi biz fldGrupRengi fieldini çağırıırken kontrol edeceğiz.Aşağıdaki sorgu her çalışmasında fldGrupRengine bakacak ve ona uygun olan seçimi dönecektir. Eğer fldGrupSirasi=1 ise '1.Grup' değerini dön, fldGrupSirasi=2 ise '2.Grup' değerini dön vs. gibi.Aşağıya kullandığım örneği ekliyorum:

Case When Yapısının Kullanıldığı Sorgu:
Select fldGrupId,
fldGrupAdi,
case
when fldGrupSirasi=1 then '1.Grup'
when fldGrupSirasi=2 then '2.Grup'
when fldGrupSirasi=3 then '3.Grup'
when fldGrupSirasi=4 then '4.Grup'
when fldGrupSirasi=5 then '5.Grup'
end as fldGrupSirasi
From tblGrupSiralamasi

Örnek Tablo:
fldGrupId fldGrupAdi fldGrupSirasi
1 Otomobiller 1

Yukarıdaki tabloya case when yapısı uygulandığında dönen sonuç:
fldGrupId fldGrupAdi fldGrupSirasi
1 Otomobiller 1.Grup