İlginizi Çekebilir
  1. Ana Sayfa
  2. SQL

SQL AS – Tek Tabloda İç İçe Select Kullanımı

SQL AS – Tek Tabloda İç İçe Select Kullanımı
+ - 0

SQL AS – Tek Tabloda İç İçe Select Kullanımı , dersi ile sql eğitim setime devam ediyorum. Bu dersimde, çok fazla kullanacağımız bir şey olmasa da ara ara lazım olan bir işlemi göstermek istiyorum. Sorunun sebebini tam olarak bilemiyorum ama çözümünü bulmuştum zamanında… Gelin SQL AS – Tek Tabloda İç İçe Select Kullanımı işlemini görelim.

 

SQL AS – Tek Tabloda İç İçe Select Kullanımı

Bu dersimizde göreceğimiz işlemler,

1 – As kullanımı

2 – İç İçe Select kullanımı

 

Tek tablo üzerinden iç içe select sorgusu yazdığım da  (yani ana sorgu da Tablo1 üzerinde alt sorgularda Tablo1 üzerinde) şart olarak ID verdiğimizde alt sorguların sonuçlarının null gelmesi sorunun çözümünü anlatmaya çalışacağım.

Birbirine bağlı kayıtlar arasında bir analiz yapmamız gerektiğinde bu sorunla karşılaşıyoruz.

Örn. URETIM_KAYITLARI tablomuzda 5 kaydımız var. 1. kayıt Giriş bilgisi kaydı diğer 4 kayıtta çıkış bilgi kaydı. Çıkış bilgisi kayıtlarının bir stununda da (örn SpecID) giriş kaydının ID bilgisini tutuyoruz diyelim.

Sorgu şu şekilde;

select 

 (select sum(GirisKG)  as  KG  from URETIMKAYITLARI  WHERE SpecID = ID)-- Giriş bilgisi Kaydı
,(select sum(GirisGen) as  GEN from URETIMKAYITLARI  WHERE SpecID = ID)-- Çıkış bilgisi Kaydı

,*

 from URETIMKAYITLARI

Sorgumuzu bu şekilde hazırladığımızda alt sorgulardan gelen sonuç her zaman NULL oluyor. Sebebini tam olarak bende bilmiyorum ama tablo ve stun adları aynı olduğundan karıştırıyor olabilir diye düşünüyorum. Ancak çözümü var. O çözümde stunları isimlendirmemize yarayan ” AS ” ‘ da. Daha fazla uzatmadan yukarıdaki sorgunun çalışan halini yazayım.

select 

 (select sum(GirisKG) as  KG  from URETIMKAYITLARI as CikisUretimKaydi  WHERE CikisUretimKaydi.SpecID = GirisUretimKaydi.ID)
,(select sum(GirisGen) as GEN from URETIMKAYITLARI as CikisUretimKaydi  WHERE CikisUretimKaydi.SpecID = GirisUretimKaydi.ID)
,*

 from URETIMKAYITLARI as GirisUretimKaydi

Örnek kodda gördüğünüz gibi AS kullanarak tablomuza da Alias verdik yani isimlendirdik. Bu şekilde alt sorgulardaki tablonun farklı bir tablo gibi görünmesine ve bu şekilde sorgunun sorunsuz bir şekilde çalışmasını sağladık.


SQL AS – Tek Tabloda İç İçe Select Kullanımı , dersimizde bu kadardı dostlar. Diğer derslerimizde görüşmek üzere.

Microsoft SQL Server & T-SQL Eğitim Seti ders listesi için tıklayınız.

Sağlıcakla ve Takipte Kalın. ?

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)