SQL de Case nedir ve ne amacla kullanilir?
SQL de Case nedir ve ne amacla kullanilir?

Mssql üzerinde sql sorgularında Case kullanımına örnek kod paylaşımı

SQL'de CASE ifadesi, belirli bir koşula bağlı olarak farklı değerler veya ifadeleri döndürmek için kullanılan bir yapıdır. CASE ifadesi, bir sorguda veya sorgu bloğunda belirli durumlara göre farklı işlemler yapmanıza olanak tanır. Genellikle sorgulama veya raporlama işlemlerinde kullanılır.

CASE ifadesi genellikle şu şekilde kullanılır:

CASE
    WHEN koşul1 THEN sonuç1
    WHEN koşul2 THEN sonuç2
    ...
    ELSE varsayılan_sonuç
END


Bir ornek vermek gerekirse : 

Faturalar sayfasında; Fatura bilgilerini çekeceğimiz, Faturanın kesildiği Müşteri ya da Faturayı gönderen Tedarikçi bilgisini, Faturada eklenmiş Ürün/Hizmet kalemlerinin toplam tutarını tek sorguda çekeceğimiz Sql Kodumuz.

SELECT VR.Date, VR.fNo, VR.Desc, VR.Code,
CASE when VR.FTCode is not null then (select TU from TED where Code=VR.FTCode) END AS 'TED',
CASE when VR.FMCode is not null then (select MName from MUS where Code=VR.FMCode) END AS 'MUS', 
(Select SUM(Total) from Ftable where fCode=VR.Code) AS 'TOPLAM'
FROM VTable VR where VR.Ft='1' order by VR.Date desc