Merhaba Arkadaşlar,
Yapmak istediğim şey tam olarak TABLO1 'de bulunan 15 koduna göre TARIH kısmını TABLO2 'de arayıp TABLO1 'de ki tarihden önce kaçtane veri olduğu ve sonra kaçtane veri olduğu sayısını almak ve bu aldığım sayının karşısına TABLO2 'deki süreleri toplamak bu konuda yardımcı olabilir misiniz ?
Teşekkürler.
aşağıdaki kodu dener misiniz?
SELECT TABLO1.KOD, Sum(Once.SURE)/3 AS Once, Sum(Sonra.SURE)/3 AS Sonra
FROM TABLO2 AS Sonra INNER JOIN (TABLO1 INNER JOIN TABLO2 AS Once ON TABLO1.KOD = Once.KOD) ON Sonra.KOD = TABLO1.KOD
WHERE (((Sonra.TARIH)>[TABLO1]![TARIH]) AND ((Once.TARIH)<[TABLO1]![TARIH]))
GROUP BY TABLO1.KOD;
Not: eşit olması durumunu belirtmemiş olduğunuzdan sadece büyük ve küçükler alındı, eşitler hesaba katılmadı.
Berduş hocam sizin dosyada tablo2 deki 5.satırdaki 15 i 16 yapınca sonuç yanlış çıkıyor.
Alternatif olarak ekledim biraz uzun oldu galiba
https://resim.accesstr.net/do.php?img=11111
SELECT t2.KOD,
(select SUM(t2.SURE) from TABLO1 as t1 LEFT JOIN TABLO2 as t2 ON t2.TARIH< t1.TARIH and t2.KOD= t1.KOD ) AS önceki,
(select SUM(t2.SURE) from TABLO1 as t1 LEFT JOIN TABLO2 as t2 ON t2.TARIH> t1.TARIH and t2.KOD= t1.KOD) AS sonraki
FROM TABLO1 AS t1
LEFT JOIN TABLO2 AS t2 ON t2.KOD=t1.KOD
GROUP BY t2.KOD;
haklısını
(26/06/2021, 14:36)feraz yazdı: Berduş hocam sizin dosyada tablo2 deki 5.satırdaki 15 i 16 yapınca sonuç yanlış çıkıyor.
haklısınız hocam sonuç hatalı aşağıdaki gibi olabilir
SELECT O1.KOD, O1.Once, S2.Sonra
FROM (SELECT TABLO1.KOD, Sum(TABLO2.SURE) AS Sonra
FROM TABLO2 INNER JOIN TABLO1 ON TABLO2.KOD = TABLO1.KOD
WHERE (((TABLO2.TARIH)>[TABLO1]![TARIH]))
GROUP BY TABLO1.KOD
) AS S2 INNER JOIN (SELECT TABLO1.KOD, Sum(TABLO2.SURE) AS Once
FROM TABLO2 INNER JOIN TABLO1 ON TABLO2.KOD = TABLO1.KOD
WHERE (((TABLO2.TARIH)<[TABLO1]![TARIH]))
GROUP BY TABLO1.KOD
) AS O1 ON S2.KOD = O1.KOD;
feraz hocam aşağıdaki kodu dener misiniz? nerede hata yapıyorum:
cdbl kullandım, # kullandım olmadı benim ofiste mi sıkıntı var acaba
aslında
Dsum olacaktı ama şimdilik
DCount olsun
Once: DCount("sure";"tablo2";"kod='" & [KOD] & "' and TARIH < " & [TARIH])
(26/06/2021, 16:23)berduş yazdı: feraz hocam aşağıdaki kodu dener misiniz? nerede hata yapıyorum:
cdbl kullandım, # kullandım olmadı benim ofiste mi sıkıntı var acaba
aslında Dsum olacaktı ama şimdilik DCount olsun
Once: DCount("sure";"tablo2";"kod='" & [KOD] & "' and TARIH < " & [TARIH])
Tamam abey müsait olunca denerim,biraz sürer ama.