Sql ile Sutun toplama problemi..
- ömer faruk
- Üye
- Mesajlar: 97
- Kayıt: 29 Eki 2003 09:34
- Konum: Bursa
- İletişim:
Sql ile Sutun toplama problemi..
Select SUM (SERVIS) as SERVIS1, SUM (ALINAN) as ALINAN1
From CARI,M USTERIBILGILERI where CARI.Bagla=MUSTERIBILGILERI.MUSTERIADI
Yapmak istediğim her müşteriye ayrı ayrı nekadar servis kesip nekadarını almışız ve kalan borc nekadar ama
bu şekilde yazıyorum ...çok saçma rakamlar çıkarıyor karşıma ama cari
table daki alınan vce servis te okadar rakam yok başka yerden de bişi almıyorum anlamadım gitti acaba silinen kayıtlarıdamı topluyor bu yardımcı
olursanız sevinirim.
From CARI,M USTERIBILGILERI where CARI.Bagla=MUSTERIBILGILERI.MUSTERIADI
Yapmak istediğim her müşteriye ayrı ayrı nekadar servis kesip nekadarını almışız ve kalan borc nekadar ama
bu şekilde yazıyorum ...çok saçma rakamlar çıkarıyor karşıma ama cari
table daki alınan vce servis te okadar rakam yok başka yerden de bişi almıyorum anlamadım gitti acaba silinen kayıtlarıdamı topluyor bu yardımcı
olursanız sevinirim.
Hakimiyet ALLAH' ındır...
Öncelikle linkleri yani master detail bağlantıları String alanlarla yapmayın. bunu genel bir alışkanlık yapın. bu link ler için primarykey leri kullanın.
Ben genellikle kullandığım yöntemi söyliyeyim. Cari ye göre gruplayıp LookUp larla ekrana aktarıyorum. Performansıda çok iyi diyebilirim
kolay gele
Ben genellikle kullandığım yöntemi söyliyeyim. Cari ye göre gruplayıp LookUp larla ekrana aktarıyorum. Performansıda çok iyi diyebilirim
kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Primary key ve foreing key'lerin string olmamasi uyarisina ben de katilmakla birlikte mevcut yapidaki cozum select statement'a bir group by eklemekle olur...
Kod: Tümünü seç
Select MUSTERIBILGILERI.MUSTERIADI
, SUM (SERVIS) as SERVIS1, SUM (ALINAN) as ALINAN1
From CARI,MUSTERIBILGILERI where CARI.Bagla=MUSTERIBILGILERI.MUSTERIADI
group by MUSTERIBILGILERI.MUSTERIADI
order by MUSTERIBILGILERI.MUSTERIADI
- ömer faruk
- Üye
- Mesajlar: 97
- Kayıt: 29 Eki 2003 09:34
- Konum: Bursa
- İletişim:
Select MUSTERIBILGILERI.MUSTERIADI
, SUM (SERVIS) as SERVIS1, SUM (ALINAN) as ALINAN1
From CARI,MUSTERIBILGILERI where CARI.Bagl=MUSTERIBILGILERI.MKAYITNO
group by MUSTERIBILGILERI.MUSTERIADI
order by MUSTERIBILGILERI.MUSTERIADI
Fahrettin abi sizin söylediğiniz şekilde gözden geçirip yanlışlarımı düzelltim...yukarıdaki gibi yaptım yine istediğim şeyi vermiyor...bu çalıştıgında şoyle bir çıktı elde ediyor butun muşterilerin borçlarını ayrı ayrı topluyor ama ben o anki kayıttakini istiyorum ve onu göstermesini istiyorum ıb easy de delphi de sql ifadesnini çalıştırıyorum o anki kayıdın değilde butun kişilerin borç bilgisini getiriyor...bilmem anlatabildinmi nerde yanlış yapıyorum acaba umarmım anlatabilmişimdir...kolay gelsin ...teşekürler ilginiz için....
, SUM (SERVIS) as SERVIS1, SUM (ALINAN) as ALINAN1
From CARI,MUSTERIBILGILERI where CARI.Bagl=MUSTERIBILGILERI.MKAYITNO
group by MUSTERIBILGILERI.MUSTERIADI
order by MUSTERIBILGILERI.MUSTERIADI
Fahrettin abi sizin söylediğiniz şekilde gözden geçirip yanlışlarımı düzelltim...yukarıdaki gibi yaptım yine istediğim şeyi vermiyor...bu çalıştıgında şoyle bir çıktı elde ediyor butun muşterilerin borçlarını ayrı ayrı topluyor ama ben o anki kayıttakini istiyorum ve onu göstermesini istiyorum ıb easy de delphi de sql ifadesnini çalıştırıyorum o anki kayıdın değilde butun kişilerin borç bilgisini getiriyor...bilmem anlatabildinmi nerde yanlış yapıyorum acaba umarmım anlatabilmişimdir...kolay gelsin ...teşekürler ilginiz için....
Hakimiyet ALLAH' ındır...
Eger dogru anladiysam where kısmına ilgili musteriyi sınırlayacak bir kriter koymanız yeterli.
Ornekte 10 numarali kaydi listeleyecektir. Siz sql'i olustururken buraya ya degisklen koyarak ya da dogrudan sql'i olusturmadada iligli degiskeni isin icine katarak bu sekilde bir sql calistirirsaniz olmasi gerekir...
Parametreli kullanım su sekilde olur....
Sonra da Query1.ParamByName('KAYITNO').AsInteger:=10; seklinde deger atayıp query1.Open demeniz yeterli...
Kod: Tümünü seç
Select MUSTERIBILGILERI.MUSTERIADI
, SUM (SERVIS) as SERVIS1, SUM (ALINAN) as ALINAN1
From CARI,MUSTERIBILGILERI where CARI.Bagl=MUSTERIBILGILERI.MKAYITNO and MUSTERIBILGILERI.MKAYITNO=10
group by MUSTERIBILGILERI.MUSTERIADI
order by MUSTERIBILGILERI.MUSTERIADI
Parametreli kullanım su sekilde olur....
Kod: Tümünü seç
Select MUSTERIBILGILERI.MUSTERIADI
, SUM (SERVIS) as SERVIS1, SUM (ALINAN) as ALINAN1
From CARI,MUSTERIBILGILERI where CARI.Bagl=MUSTERIBILGILERI.MKAYITNO and MUSTERIBILGILERI.MKAYITNO=:KAYITNO
group by MUSTERIBILGILERI.MUSTERIADI
order by MUSTERIBILGILERI.MUSTERIADI
- ömer faruk
- Üye
- Mesajlar: 97
- Kayıt: 29 Eki 2003 09:34
- Konum: Bursa
- İletişim:
SELAMUNALEYKUM...
Fahrettin abi gerçekten sağolasın oldu ıbeasy de denedim tam istediğim gibi olayın mantığına öğrenmiş oldum ama delphi de yaptıgımda KAYITNO olayı eklemişsin onu nerde tanımlayacam query icinde data olarak yaptım olmadı...orda takıldım cok mu basit yoksa neyse yinede çok teşekkür ederim coğu gitti azı kaldı....
Fahrettin abi gerçekten sağolasın oldu ıbeasy de denedim tam istediğim gibi olayın mantığına öğrenmiş oldum ama delphi de yaptıgımda KAYITNO olayı eklemişsin onu nerde tanımlayacam query icinde data olarak yaptım olmadı...orda takıldım cok mu basit yoksa neyse yinede çok teşekkür ederim coğu gitti azı kaldı....
Hakimiyet ALLAH' ındır...
- ömer faruk
- Üye
- Mesajlar: 97
- Kayıt: 29 Eki 2003 09:34
- Konum: Bursa
- İletişim:
*******************
datamodule4.caritoplam.Close;
datamodule4.caritoplam.SQL.Clear;
datamodule4.caritoplam.SQL.Add('Select MUSTERIBILGILERI.MUSTERIADI,SUM (SERVIS) as SERVIS1, SUM (ALINAN) as ALINAN1 From CARI,MUSTERIBILGILERI');
datamodule4.caritoplam.SQL.Add('where CARI.Bagl=MUSTERIBILGILERI.MKAYITNO and MUSTERIBILGILERI.MKAYITNO=:KAYITN group by MUSTERIBILGILERI.MUSTERIADI order by MUSTERIBILGILERI.MUSTERIADI');
datamodule4.caritoplam.ParamS[0].AsInteger:=70;
datamodule4.caritoplam.Open
******************
Üstad Sağolasın Çözüdm olayı ALLAH Razı Olsun.....
datamodule4.caritoplam.Close;
datamodule4.caritoplam.SQL.Clear;
datamodule4.caritoplam.SQL.Add('Select MUSTERIBILGILERI.MUSTERIADI,SUM (SERVIS) as SERVIS1, SUM (ALINAN) as ALINAN1 From CARI,MUSTERIBILGILERI');
datamodule4.caritoplam.SQL.Add('where CARI.Bagl=MUSTERIBILGILERI.MKAYITNO and MUSTERIBILGILERI.MKAYITNO=:KAYITN group by MUSTERIBILGILERI.MUSTERIADI order by MUSTERIBILGILERI.MUSTERIADI');
datamodule4.caritoplam.ParamS[0].AsInteger:=70;
datamodule4.caritoplam.Open
******************
Üstad Sağolasın Çözüdm olayı ALLAH Razı Olsun.....
Hakimiyet ALLAH' ındır...
- ömer faruk
- Üye
- Mesajlar: 97
- Kayıt: 29 Eki 2003 09:34
- Konum: Bursa
- İletişim:
Selamunalekyum...
Üstad yine ben....
ilgili form açıldığında musteri kayıt numarası girmem gerekiyor buşekilde olursa yine bukodlarla kullanıcı musteri numarası girmeden getirebilirmiyim cari bilgileri...tırmalıyorum ama beremedim şu ana kadar eminim basit bişidir neyse kolay gelsin ...
Üstad yine ben....

Hakimiyet ALLAH' ındır...
- ömer faruk
- Üye
- Mesajlar: 97
- Kayıt: 29 Eki 2003 09:34
- Konum: Bursa
- İletişim:
Selamunaleykum ....
Olayı şu şekilde çözdüm Fahrettin Abi dbtext üzrine aktardım kayıtno sunu ordan kayıt numarası geldığı için bir butona bagladım ozaman cari hesabı yapıyor yani fazladan bir tuşla olayı halletim pek profosyonel olmadı ama neyse şimdilik çözdüm...ama daha kısa ve mantıklı yolu varsa oda olabilir
...kolay gelsin....
Olayı şu şekilde çözdüm Fahrettin Abi dbtext üzrine aktardım kayıtno sunu ordan kayıt numarası geldığı için bir butona bagladım ozaman cari hesabı yapıyor yani fazladan bir tuşla olayı halletim pek profosyonel olmadı ama neyse şimdilik çözdüm...ama daha kısa ve mantıklı yolu varsa oda olabilir

Hakimiyet ALLAH' ındır...