örnekle olayı anlatmaya çalışalım.
Where içinde Alias kullanmak:
|
select
name as ObjeAdi,
YEAR(create_date) as YIL,
create_date as OlusturmaTarihi
from
sys.objects
where YIL = 2012
|
Yukarıdaki sorguyu çalıştırdığınız zaman “Invalid column name ‘YIL’.” hatası alırsınız.
Order by İçinde Kullanımı :
|
select
name as ObjeAdi,
YEAR(create_date) as YIL,
create_date as OlusturmaTarihi
from
sys.objects
order by YIL desc
|
Yukarıdaki sorguyu ise herhangi bir hata almadan çalıştırabilirsiniz. Peki bunun sebebi nedir ?
SQL Server bir sorguyu işlerken belirli bir sıraya göre işlem yapar. Bu sıra genel hatları ile şu şekildedir. FROM -> ON -> WHERE -> SELECT -> ORDER BY
Tanımladığınız YIl alias ı select içinde tanımlandığı ve WHERE kısmı SQL de SELECT’ten önce çalıştığı için, WHERE kısmı çalışırken SQL engine daha YIL adındaki aliasın ne olduğunu bilmemekte. Bu yüzden de invalid column name hatası vermekte.
sorunu ;
select f.* from (select
name as ObjeAdi,
YEAR(create_date) as YIL,
create_date as OlusturmaTarihi
from
sys.objects ) as f
where YIL = 2012
modunda aşabilirsiniz.
86 doğumlu ve MIS Mezunu,
2009 Mayıs ayı itibariyle, 16 yılı aşkındır içinde olduğum kurumsal hayatı ardımda bırakarak, tam zamanlı olarak blogumun başına oturdum. Blogger olmak dışında, normalde ne iş yapıyorsun diye merak edenlere, 1 yıldır sadece bu işi yaptığımı söylemekten gurur duyarım.
2009 yılından beri emrahacikgoz.com.tr için yazıyorum, fotoğraf çekiyorum, blog üstüne blog açıyorum ve güzel markalarla güzel projeler üretmeye çalışıyorum.Blogun içeriğini kendim üretiyorum,yani yardırıyorum. Kendi kendimin patronu olduğumdan beri de kuralları tek başıma koyuyorum . Mesela, ta en başından beri içeri basın bülteni, herhangi bir tanıtım yazısı ya da hazır görsel girmesi yasak , Ne kadar kendi kendimin patronu olsam da, şu an bu satırları okuyanlardan biriyseniz, zaten her şeyin sizin sayenizde olduğunu da bilmenizi isterim.
gibi uzun bir cümleyi kurduktan sonra size vayyyy beeee! dedirtmek isterdim , lakin dünya öyle dönmüyor maalesef o kurumsal düzenin hala içerisinde, kapitalizmin bir parçası olarak devam ettiğim iş yaşantımda fırsat buldukça yazıyorum…