select UYE.*, HESAP.* from UYE left join (select KIM, coalesce(avg(case when AY='''+COMBOBOX2.text+''' and yil='''+COMBOBOX1.text+''' then AIDAT end),0) as AIDAT, sum(coalesce(AIDAT,0)-coalesce(AODEME,0))'+' as AIDAT_BORCU, coalesce(avg(case when AY='''+COMBOBOX2.text+''' and yil='''+COMBOBOX1.text+''' then YAKIT end),0) as YAKIT, sum(coalesce(YAKIT,0)-coalesce(YODEME,0))'+' as YAKIT_BORCU from HESAP group by KIM) as HESAP on UYE.ID=HESAP.KIM
son olarak böyle bir kod ilk defa gördüm söylediğim yerleri tek kelimeyle açıklarmısınız ben bildiklerimi yazayım bilmiyenler öğrensin
bilemediklerimi ? koyduklarımı tamamlarsınız
select :tablodan seçilecek sutunları belirliyoz
from:tabloyu belirliyoz
left join:birleştirme yapıyordu ama left veya right neyi ifade eder?
coalesce:?
avg:?
case:bir durum oluşturuyor
tekrardan sağolun bunları istememin nedeni blok ='''+COMBOBOX3.text+''' kodunu nereye yerleştireceğim onu öğrenmek için kod biraz karışık geldide?
Birde tarih konusunda haklısınız tarihli şekile çevireceğim selamlar
Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?
pelitt yazdı:selamlar vidyoyu izlediğinizi zannetmiyorum ordan bunu anladığınıza inanmak dahi istemiyorum kolay gelsin
....pelitt yazdı:Heralde senin sadece klavye çalışıyo abim aman ha fazla biiş yazıp onuda kaybetme lazım olacakgeçen günde ben resimleri göremiyom demiştin
Neyseki google hala calisiyor. Arastirdim, asagidaki iki kaynakta detayli olarak anlatiliyor.
AVG anlatimi
Coalesce anlatimi.
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?
SQL sorgular çalışırken genelde yaygın olarak Null değerlerle işleme alındığında Null sonucu çıkarırlar. Mesela Select A,B,A+B as C from TBL sorgusunda aşağıdaki gibi liste gelecektir.Burada Null değeri sıfırmış gibi dikkate alan fonksiyon isNull veya coalesce'dir. Sorguyu Select A,B, coalesce(A,0)+ coalesce(B,0) as C from TBL şeklinde değiştirirsek sonuç aşağıdaki gibi çıkacaktır.
avg ise aritmetik ortalama bulan fonksiyondur. Tıpkı sum fonksiyonu gibi değerleri toplar ve sonucu yazarken kaç sayı toplamış ise toplamın o sayıya bölümünü vererek aritmetik ortalamayı verir. Burada AIDAT değeri tüm kayıtlarda aynı olduğundan sonuçta o kayıt değeri ile aynı değeri verir. avg yerine max veya min fonksiyonlarından birisi de kullanılabilirdi. Sonuç değişmeyecektir.
case ise şarta göre kayıt seçer. Şarta uyan değeri işleme alır uymayanı almaz.
join sorgular için makale ve ip uçları kısmında örnekli anlatımları olan bir bağlantı vermiştim, tekrar veriyorum. Bunu anlamanız için o sayfaya ve örneklere uzunca bir zaman ayırmanızı öneririm.
Kod: Tümünü seç
A B C
---- ---- ----
Null 1 Null
0 4 4
10 Null Null
11 23 34
Kod: Tümünü seç
A B C
---- ---- ----
Null 1 1
0 4 4
10 Null 10
11 23 34
case ise şarta göre kayıt seçer. Şarta uyan değeri işleme alır uymayanı almaz.
join sorgular için makale ve ip uçları kısmında örnekli anlatımları olan bir bağlantı vermiştim, tekrar veriyorum. Bunu anlamanız için o sayfaya ve örneklere uzunca bir zaman ayırmanızı öneririm.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?
Sanki milletle kafa buluyon gibi geliyor bana artık...Arkadaşlarda seni ciddiye alıp derdine çare olmaya çalışıyorlar. Aklınca, işi kolaylaştırdım alanı varchar yaptım diyorsun... Peki varchar alanı < veya > gibi karşılatırma operatörleriyle kullanabileceğini düşündüren nedir.... ?
Re: Navicat te çalışıyor fakat zqueryde tablo bulunamadı ?
Denedim ancak yapamadım bende tekrar tarih işini erteledim tarih olunca aidat mikt. gözükmüyor ben hak hukuk bilen biriyim kimseyi boşa uğraştırmam merak etmeBattosai yazdı:Sanki milletle kafa buluyon gibi geliyor bana artık...Arkadaşlarda seni ciddiye alıp derdine çare olmaya çalışıyorlar. Aklınca, işi kolaylaştırdım alanı varchar yaptım diyorsun... Peki varchar alanı < veya > gibi karşılatırma operatörleriyle kullanabileceğini düşündüren nedir.... ?