16 Şubat 2019 Cumartesi

SQL WHEN-CASE

-------------WHEN- CASE---------------------
--Veritabanlarınızda yerden tasarruf etmek amaciyla bazı kısaltmalar kullanmak isteyebilirsiniz
--Ancak bu kısaltmalarin raporlamlar dahilinde degisik bir sekilde gorunmesi gerekebilir
--Bu sebepten oturu varolan verilerin fiziksel olarak degismeden rapor bazli degismesini sağlamalisiniz..
--Calisanlar tablosunda 'Mr.' gorulen yere 'Bay';'Ms.' ve 'Mrs.' gorunen yere 'Bayan';
--onbilgi yoksa ya da harici herhangi bir durumsa 'On Bilgi Yok' yazdırılarak raporlarsın...
Select FirstName+'    '+LastName as 'AdSoyad',Unvani=case TitleOfCourtesy
when 'Mr.' then 'Bay'
when 'Ms.' then 'Bayan'
when 'Mrs' then 'Bayan'
else 'On Bilgi Yok'
end
from Employees
order by Unvani
--ikinci kullanım
select*,case when TitleOfCourtesy =  'Mrs.' then 'Bayan' when
TitleOfCourtesy = 'Ms.' then 'Bekar Bayan' when TitleOfCourtesy = 'Mr.'
then 'Bay' when TitleOfCourtesy = 'Dr.' then 'Doktor' end from Employees

---ikinci kullanım 2
select*,case when UnitPrice>50 then 'Pahalı' when UnitPrice<50 then
'Ucuz' when UnitPrice=50 then 'Alınır' end as ÜRÜNDURUM from Products order by
ÜRÜNDURUM desc

--Urun adlarini,ucretlerini ve stok miktarlarini raporlayiniz.Eger stok
--miktarı 50'den kucuk 'Kritik Durum', 50-75 arasi ise 'Normal Stok' 75'te
--fazla ise 'Stok Fazlası' uyarısı veren ekstra bir kolonu raporu ekleyiniz...
--Raporunuz stok miktarlarina göre kucukten buyuge siralasin..
Select ProductName,UnitPrice,UnitsInStock,[Stok Durumu]=
case
when UnitsInStock<50 then 'Kritik Stok'
when UnitsInStock between 50 and 75 then 'Normal Stok'
when UnitsInStock>75 then 'Stok Fazlası'
end
from Products order by UnitsInStock

Hiç yorum yok:

Yorum Gönder