bakiye sorgulama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
guney
Üye
Mesajlar: 88
Kayıt: 19 Ağu 2003 03:04
Konum: İstanbul

bakiye sorgulama

Mesaj gönderen guney »

borc alacak ve bakiye yi sql ile alabiliyorum.

yapmak istediğim şu. bakiyesi 0 dan büyük yada 100 den kücük gibi hesaplanan bakiyenin filtrelenmesi.

bunu nasıl yapabilirim.

sitede aradım bulamadım. varsa linkini versenizde yeter.

aşagıda kullandığım sql cümleceği var:

select cariunvan as ACIKLAMA ,count(*) as ADET,SUM(borc) AS TOPLAM_BORC,SUM(ALACAK) AS TOPLAM_ALACAK, SUM(BORC)-SUM(ALACAK) AS BAKIYE from cari_hareket where 1=1 '+ LsSQL+ ' group by cariunvan' ;
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

Mesaj gönderen selman »

selam
kardeş

Kod: Tümünü seç

 select sum(bakiye) from tabloadın
where bakiye>0 and bakiye<101 
böyle bir şey yapabilirisn.
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

merhaba ,
GROUP BY deyimi kullandığınız yerlerde grup sonuçlarına göre filtreleme işlemi yapmakta HAVING deyimi oldukça kullanışlıdır sizin örneğiniz üzerinde şu şekilde kullanılabilir

Kod: Tümünü seç

select cariunvan as ACIKLAMA ,count(*) as ADET,SUM(borc) AS TOPLAM_BORC,SUM(ALACAK) AS TOPLAM_ALACAK, SUM(BORC)-SUM(ALACAK) AS BAKIYE from cari_hareket where 1=1 '+ LsSQL+ ' group by cariunvan HAVING (SUM(BORC)-SUM(ALACAK))>0 or  (SUM(BORC)-SUM(ALACAK))<100 order by cariunvan ' ;

firde unutmadan count(*) yerine hiç bir zamanb oş olmayacak mesela tablonun anahtar alanı olabilir örnekte id isminde olsun count(id) şeklinde kullanmalısınız sonuç diğer türlü yanlış çıkabilir, null olanlar toplamı etkiler.

iyi çalışmalar.
Volkan KAMADAN
www.polisoft.com.tr
guney
Üye
Mesajlar: 88
Kayıt: 19 Ağu 2003 03:04
Konum: İstanbul

Mesaj gönderen guney »

hocam teşekkür ederim.

bu kod işimi gördü.

özellikle muhasebe konusunda calışanlarında bu koda ihtiyacı olabilir.
smokie
Üye
Mesajlar: 72
Kayıt: 01 Tem 2007 10:26

Re:

Mesaj gönderen smokie »

vkamadan yazdı:merhaba ,
GROUP BY deyimi kullandığınız yerlerde grup sonuçlarına göre filtreleme işlemi yapmakta HAVING deyimi oldukça kullanışlıdır sizin örneğiniz üzerinde şu şekilde kullanılabilir

Kod: Tümünü seç

select cariunvan as ACIKLAMA ,count(*) as ADET,SUM(borc) AS TOPLAM_BORC,SUM(ALACAK) AS TOPLAM_ALACAK, SUM(BORC)-SUM(ALACAK) AS BAKIYE from cari_hareket where 1=1 '+ LsSQL+ ' group by cariunvan HAVING (SUM(BORC)-SUM(ALACAK))>0 or  (SUM(BORC)-SUM(ALACAK))<100 order by cariunvan ' ;

firde unutmadan count(*) yerine hiç bir zamanb oş olmayacak mesela tablonun anahtar alanı olabilir örnekte id isminde olsun count(id) şeklinde kullanmalısınız sonuç diğer türlü yanlış çıkabilir, null olanlar toplamı etkiler.

iyi çalışmalar.

Mrhb,
Hocam '+ LsSQL+ ' anlayamadım.
burada hata veriyor. yardımcı olurmusun.
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: bakiye sorgulama

Mesaj gönderen conari »

@Volkan sanırım orada ek filtreleme veya Sıralama eklemiş.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Cevapla