T-SQL Özel Sıralama(Order by Special)
merhabalar,
bugünkü yazımda sizlere sql server üzerinde T-SQL komutaları ile yaptığmız sorgularda sonucu ascending veya descending yerine kendi istediğimiz özel sıralama yaparak nasıl getirebileceğimizi anlatacağım.
Bu sıralamayı oluşturabilmek için order by içerisinde case when yapısını kullanacağız.Öncelikle sıralama yapacağımız şehirler tablomuzu oluşturup tablomuzun içine farklı şehirleri ekliyoruz.
create table tbl_Sehirler
(
ID int primary key identity (1,1),
sehir nvarchar(50)
)
-- tablomuza 10 farklı şehir ekliyoruz.
insert into tbl_Sehirler(sehir) values('Ankara'),('İstanbul'),('izmir'),('Kocaeli'),('Tekirdağ'),('Sakarya'),('Gaziantep'),('Konya'),('Bolu'),('Bursa')
-- Şehirler Tablosundan(Ankara, İstanbul, İzmir ilk sırada gelecek şekilde alfabetik sıralayın)
select * from tbl_Sehirler order by case sehir
when 'Ankara' then 1
when 'İstanbul' then 2
when 'İzmir' then 3
else 4
end,
sehir asc
bugünkü yazımda sizlere sql server üzerinde T-SQL komutaları ile yaptığmız sorgularda sonucu ascending veya descending yerine kendi istediğimiz özel sıralama yaparak nasıl getirebileceğimizi anlatacağım.
Bu sıralamayı oluşturabilmek için order by içerisinde case when yapısını kullanacağız.Öncelikle sıralama yapacağımız şehirler tablomuzu oluşturup tablomuzun içine farklı şehirleri ekliyoruz.
create table tbl_Sehirler
(
ID int primary key identity (1,1),
sehir nvarchar(50)
)
-- tablomuza 10 farklı şehir ekliyoruz.
insert into tbl_Sehirler(sehir) values('Ankara'),('İstanbul'),('izmir'),('Kocaeli'),('Tekirdağ'),('Sakarya'),('Gaziantep'),('Konya'),('Bolu'),('Bursa')
-- Şehirler Tablosundan(Ankara, İstanbul, İzmir ilk sırada gelecek şekilde alfabetik sıralayın)
select * from tbl_Sehirler order by case sehir
when 'Ankara' then 1
when 'İstanbul' then 2
when 'İzmir' then 3
else 4
end,
sehir asc
Yorumlar
Yorum Gönder