SQL Server’da Dinamik Order By Kullanımı
Herkese merhaba,
Bu yazıda sizlere SQL Server’da dinamik order by nasıl kullanılır ondan bahsedeceğim.
SQL Server’da dinamik bir şekilde sıralama yapma ihtiyacınız olabilir. Bunun ile ilgili basit bir örnek göstermek istiyorum.
İşlemler Northwind veritabanı üzerinden yapıldı. Northwind veritabanını indirmek için aşağıdaki linki kullanabilirsiniz.
DECLARE @siralamatipibelirle INT = 3
SELECT
ProductID
,ProductName
,UnitPrice
FROM products
ORDER BY CASE
WHEN @siralamatipibelirle = 1 THEN ProductID
END DESC, CASE
WHEN @siralamatipibelirle = 2 THEN ProductName
END DESC, CASE
WHEN @siralamatipibelirle = 3 THEN UnitPrice
END ASC
Burada declare sıralamatipibelirle diyerek bir değişken oluşturuyoruz. Bu değişkene bir değer atadık ki buradaki kodları bir fonksiyon ya da bir prosedür içinde de kullanabilirsiniz. Sonrasında case when yardımı ile seçimli bir sıralama işlemi yapıyoruz. Ben 3 tipini seçtiğim için benim sıralamam UnitPrice değerine göre asc biçiminde olacaktır. Siz hangi tipi seçerseniz ona göre olur.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.