iki tabloda toplam almak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
cvheneburi
Üye
Mesajlar: 95
Kayıt: 07 Eki 2010 03:55

iki tabloda toplam almak

Mesaj gönderen cvheneburi »

arkadaşlar merhaba stok ve stokdetay diye 2 tablom var aşağıdaki kod ile stok tablosundaki stokid ye göre stokdetay tablosundaki alanları toplayarak listelemek istiyorum

Kod: Tümünü seç

select STOKLAR.ID,STOKLAR.STOKID,STOKLAR.TARIH,STOKLAR.BELGETUR,STOKLAR.BELGESERI,
STOKLAR.BELGENO,STOKLAR.MUSTERIADI,STOKLAR.STOKTURU,STOKLAR.BELGETARIH,STOKLAR.DURUM,
STOKDETAY.STOKID,SUM(STOKDETAY.MIKTAR) AS TMIKTAR,SUM(STOKDETAY.TUTAR) AS TTUTAR,
SUM(STOKDETAY.ISKORAN) AS TISKORAN,SUM(STOKDETAY.ISKTUTAR) AS TISKTUTAR,
SUM(STOKDETAY.TUTAR2) AS TISKLITUTAR,SUM(STOKDETAY.KDVTUTAR) AS TKDV,
SUM(STOKDETAY.TUTAR3) AS TTOPLAM FROM STOKLAR,STOKDETAY
WHERE STOKLAR.STOKID=STOKDETAY.STOKID
GROUP BY STOKLAR.STOKID
bu kod sadece stokdetay tablosunda kayıt olanları toplayıp listeliyor yani stoklar tablosunda kayıt var ama o kayda ilişkin stok detay tablosunda kayıt yoksa listelemiyor ekrana kod ile ilgili bir hata mı var acaba
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: iki tabloda toplam almak

Mesaj gönderen thelvaci »

Doğal olanı da bu değil mi zaten ? Her iki tabloyu birbiri ile StokID alanları üzerinden INNER join biçiminde bağlamışsınız. Detayı olmayan stok kayıtları da gelsin istiyor iseniz eğer; bu durumda LEFT join tarzı bağlantı kurmanız gerekir.
cvheneburi
Üye
Mesajlar: 95
Kayıt: 07 Eki 2010 03:55

Re: iki tabloda toplam almak

Mesaj gönderen cvheneburi »

doğal olan bu olabilir hocam ama ben dediğim şekilde liste almak istiyorum left join i ve right joın i de denedim fakat aynı değişen bişe olmadı

aslında benim yapmak istediğim şey master detail listeleme yaptığım cx grid nesnesinde yukarıda toplam aldırdığım alanların master alanda gözükmesi sitede araştırdım toplamları fother olarak yazdıran çözümler var ben cxgridde dbtablewiev1 yani master alanda alan olarak gözükmesini istiyorum bununla ilgili başka bir çözümünüz varmı acaba ?
Kullanıcı avatarı
esistem
Üye
Mesajlar: 464
Kayıt: 02 Eki 2007 11:22
İletişim:

Re: iki tabloda toplam almak

Mesaj gönderen esistem »

Bu konuda aşağıdaki linki bi incele @sabanakman hocamın yazdığı tam sana uyar.
http://delphiturkiye.com/forum/viewtopi ... 18&t=33221
cvheneburi
Üye
Mesajlar: 95
Kayıt: 07 Eki 2010 03:55

Re: iki tabloda toplam almak

Mesaj gönderen cvheneburi »

@esistem , teşekkür ederim, @sabanakman hocama da verdiği detaylı örneklerden dolayı emeğine sağlık hepinize teşekkür ederim

Kod: Tümünü seç

select
  ana.ID, max(ana.KODU) as KODU, max(ana.ADI) as ADI, sum(alt.BORC) as BORC, sum(alt.ALACAK) as ALACAK
from KART as ana
left join HAREKET as alt on alt.KART_ID=ana.ID
group by ana.ID
Cevapla