SQL'de belirli koşullara sahip değerler elde etmek istiyorsak CASE ifadesini kullanmaktayız.
Öncelikle [HumanResources].[Employee] tablosunu sorgulatalım.
Sadece JobTitle'ları görüntüleyelim. Amacımız JobTitle'ında Production geçen tüm adları yeni bir sütunda "Production" olarak göstermek. Diğerlerini "Other" değeri ile göstermek.
Öncelikle [Job Category] adlı yeni bir alan oluşturuyoruz. Ardından CASE yazıp koşulumuzu belirtiyoruz.
WHEN [JobTitle] LIKE '%production%' THEN 'Production'kodları ile JobTitle'ında production geçen tüm değerleri Job Category'de "Production" olarak gösterdik. Diğer tüm durumları
ELSE 'Other'kodları ile "Other" yani diğer kategorisinde gösterdik. Son olarak END ifadesi ile CASE koşulunu bitiriyoruz.
Eğer içinde "engineer" geçen tüm JobTitle'ları Engineer kategorisinde göstermek isteseydik ilk WHEN'den sonra
WHEN [JobTitle] LIKE '%engineer%' THEN 'Engineer'kodlarını kullanmamız yeterliydi.
Şimdi farklı bir örnek yapalım. [Sales].[SalesOrderDetail] tablosunu sorgulatalım.
Sadece birim fiyatları gösterelim.
Burada şunu yaptık: [Price Level] adlı yeni bir alan oluşturduk. Birim fiyatı 20 dolardan düşük olanları "Low", 400 dolardan düşük olanları "Mid", 2000 dolardan küçük olanları ise "High" olarak sınıflandırdık. 2000 dolardan yüksek olanları "Very High" olarak belirttik. Diğer tüm hallerde "Other" yazılmasını istedik.
Sorgumuzu çalıştırdığımızda [Price Level] alanında istediğimiz kategorileştirmeyi yaptığımızı görebiliriz.
Bir sonraki bölümde 2. ara tekrarımızı yapacağız.