AGREGATEE FONKSİYONLARDA ŞART BELİRTMEK

Read Time:1 Minute, 1 Second

AGREGATEE FONKSİYONLARDA ŞART BELİRTMEK
Agregatee fonksiyonlarda kullanılan fonksiyon içerisinde de şart belirtmemiz mümkün. Örneğin SUM() fonksiyonunu kullanacağımızı varsayalım. Eğer şöyleyse şununla topla, yok böylese bununla topla şeklinde koşul belirtebiliriz. Mesela bir işyerinin muhasebesini tutuyor olalım. Çalışanların ay içerisinde muhasebeden  aldıkları parayı veritabanına işleyeceğiz. 3 farklı şekilde ay içerisinde para alma durumları olsun, bunlar sıra ile;
1-avans çekilen para
2-yaptıkları satıştan aldıkları pirim
3-bahsiş gelirleri
Şeklinde olsun, Şuan veritabanımızı inceleyecek olursak şu şekilde bir tablo ile karşılaşacağız.
id ad soyad tip miktar
1 Osman ÜNAL 1 100
2 Halil ADEMOĞLU 1 150
3 Yunus Aktaş 2 250
4 Halil ADEMOĞLU 3 30
5 Osman ÜNAL 3 50
6 Yunus Aktaş 1 300
7 Halil ADEMOĞLU 3 70
8 Halil ADEMOĞLU 2 250
9 Osman ÜNAL 2 300
10 Yunus AKTAŞ 1 100
Çalışanların aldıkları paraları gruplayarak hesaplamak istersek SUM() fonksiyonu ile CASE WHEN THEN kısıtlamaları kullanarak herkesin nerden ne kadar aldığını hesaplayabiliriz. Bu sefer koşul ifadesini agregatee fonksiyonun içerisine yazacağız.
select ad,soyad
,SUM(case when tip=’1′ then miktar else 0 end) as Avans
,SUM(case when tip=’2′ then miktar else 0 end) as Prim
,SUM(case when tip=’3′ then miktar else 0 end) as Bahsis
from tbCalisanlar group by ad,soyad
Yukarıdaki örnekten herhangi bir SUM() işlemini inceleyecek olursak, eğer tipi şöyle ise miktar kolonuyla topla, eğer tip şarta uymuyorsa burayı 0 olarak al, ve her SUM() koonuna da alias ile isim belirterek hangi kolonun neyi ifade ettiğini belirtmiş olduk. Bu sorgunun sonucunda gelen tablo ise şu şekilde olacaktır.
ad soyad Avans Prim Bahsis
Halil ADEMOĞLU 150 250 100
Yunus Aktaş 400 250 0
Osman ÜNAL 100 300 50

http://www.farukunal.net‘den alıntıdır.

About Post Author

Sayfa Yoneticisi

Happy
Happy
0 %
Sad
Sad
0 %
Excited
Excited
0 %
Sleepy
Sleepy
0 %
Angry
Angry
0 %
Surprise
Surprise
0 %
Previous post grid satırlarına satır numarası vermek
Next post Röportaj- Fikret Bilir: “Arısız olmadı, hastalık gibi…”