1 Ana Toblo Uzerine 2 Tablodan Toplam Almada Sorun

1 2
21/04/2018, 15:53

dabanli

Merhaba arkadaslar

bir tane ana tablom var, Urunler diye 
iki tanede Alimlar ve Cari_satislar diye tablom var 
Urun_id ortak kolonum ve urunlerde primary key
yapmak istedigim sey 
urunlerin ne kadar alinip ne kadar satildigini bulmak tabi belli sartlara gore 
bir sorgu yazdim ama eger alimlarda ve cari satisda kayit yoksa gelmiyor ikisindede varsa geliyor. ben olsada olmasada sonucun gelmesini istiyorum nasil yapabilirim acaba 



SELECT URUNLER.URUN_ID, URUNLER.URUN_ADI, Sum(ALIMLAR.TOP_MIKTAR) AS [TOPLAM ALIM MIKTARI],  Sum(CARI_SATISLAR.TOP_MIKTAR) AS [TOPLAM C_SATIS MIKTARI]
FROM (URUNLER LEFT JOIN ALIMLAR ON URUNLER.URUN_ID=ALIMLAR.URUN_ID) LEFT JOIN CARI_SATISLAR ON URUNLER.URUN_ID=CARI_SATISLAR.URUN_ID
WHERE (ALIMLAR.CARI_ID=2  and ALIMLAR.TARIH>=#01/15/2018# and CARI_SATISLAR.CARI_ID=2  and CARI_SATISLAR.TARIH>=#01/15/2018#)
GROUP BY URUNLER.URUN_ID, URUNLER.URUN_ADI
ORDER BY URUNLER.URUN_ADI;


burda eger Cari id 2 ikisinde varsa geliyor amd bir tabloda var bir tabloda yoksa sonuc donmuyor. benim istedigim her halikarda toplamin gelmesi yani yoksa sifir donsun en azindan.... 

simdiden tesekurler...
21/04/2018, 15:59

A.Kadir.

syn darbanlı 
örneğinizi ekleyiniz.
21/04/2018, 16:10

dabanli

(21/04/2018, 15:59)A.Kadir. yazdı: syn darbanlı 
örneğinizi ekleyiniz.

dosya ektedir
21/04/2018, 21:58

dabanli

yardim ??? 
cevabini bilen yok mu
21/04/2018, 22:10

ozguryasin

(21/04/2018, 21:58)dabanli yazdı: yardim ??? 
cevabini bilen yok mu

cevabınıza istinaden, cevabı bilen yok değil, 
1-) 30 dakika önce cevap verilen konuya, cevap yazma tenezzülünde bile bulunmadınız. LİNK
2-) sorgu mantığınız yanlış. aşağıdaki kodu deneyin, sorguda sadece gereken yerleri bulundurun.



SELECT URUNLER.URUN_ID, URUNLER.URUN_ADI, Sum(IIf([ALIMLAR.TOP_MIKTAR] Is Null,0,[ALIMLAR.TOP_MIKTAR])) AS [TOPLAM ALIM MIKTARI], Sum(IIf([CARI_SATISLAR.TOP_MIKTAR] Is Null,0,[CARI_SATISLAR.TOP_MIKTAR])) AS [TOPLAM C_SATIS MIKTARI]
FROM (URUNLER LEFT JOIN ALIMLAR ON URUNLER.URUN_ID = ALIMLAR.URUN_ID) LEFT JOIN CARI_SATISLAR ON URUNLER.URUN_ID = CARI_SATISLAR.URUN_ID
WHERE (((ALIMLAR.TARIH)>=#1/15/2018#) AND ((CARI_SATISLAR.TARIH)>=#1/15/2018#))
GROUP BY URUNLER.URUN_ID, URUNLER.URUN_ADI
ORDER BY URUNLER.URUN_ADI;
22/04/2018, 02:57

dabanli

(21/04/2018, 22:10)ozguryasin yazdı:
(21/04/2018, 21:58)dabanli yazdı: yardim ??? 
cevabini bilen yok mu

cevabınıza istinaden, cevabı bilen yok değil, 
1-) 30 dakika önce cevap verilen konuya, cevap yazma tenezzülünde bile bulunmadınız. LİNK
2-) sorgu mantığınız yanlış. aşağıdaki kodu deneyin, sorguda sadece gereken yerleri bulundurun.



SELECT URUNLER.URUN_ID, URUNLER.URUN_ADI, Sum(IIf([ALIMLAR.TOP_MIKTAR] Is Null,0,[ALIMLAR.TOP_MIKTAR])) AS [TOPLAM ALIM MIKTARI], Sum(IIf([CARI_SATISLAR.TOP_MIKTAR] Is Null,0,[CARI_SATISLAR.TOP_MIKTAR])) AS [TOPLAM C_SATIS MIKTARI]
FROM (URUNLER LEFT JOIN ALIMLAR ON URUNLER.URUN_ID = ALIMLAR.URUN_ID) LEFT JOIN CARI_SATISLAR ON URUNLER.URUN_ID = CARI_SATISLAR.URUN_ID
WHERE (((ALIMLAR.TARIH)>=#1/15/2018#) AND ((CARI_SATISLAR.TARIH)>=#1/15/2018#))
GROUP BY URUNLER.URUN_ID, URUNLER.URUN_ADI
ORDER BY URUNLER.URUN_ADI;

kirilmayin lutfen disari cikmak zorunda kaldim cevabi inceliyordum recorset olayini ama benim istedigim cozum degil. bu kismide bi deneyim ilginiz icin tesekurler...
1 2