gruplandırma son dolu kayıt

1 2
11/07/2015, 21:18

ozanakkaya

Önceki mesaja eklediğim uygulama ile ilgili yorum yazınız. Örnekte hata var mı?
11/07/2015, 23:34

aktif42

Sayın Akkaya,

Örneğinize kendime uygun ekleme yaptım oldu. Updateicin_UremeSonKayitlar sorgusuna tabloya diye başlayan ilaveler yapmak aklıma hiç gelmemişti. Mükemmel çözüm olmuş beyninize sağlık. Son bir soru benim 8 sorgu sonucu ulaştığım Updateicin_UremeSonKayitlar sorgusunu (son dolu kayıtlar) tek bir sorguyla hallemezmiyiz.
12/07/2015, 11:56

ozanakkaya

Aşağıya yazdığım sorguda boşluk dahil 2646 adet harf var. Bence en sağlıklısı sizin yaptığınız sorgular. Yinede tek sorgu istiyorsan;

Güncelleştirme sorgusu hariç ("srg_tabloguncelle") tüm sorguları sil, 
Yeni sorgu oluştur, 
Sql Göster'i seçip Sql kısmına aşağıdaki kodu yapıştır.

SELECT DişiDölVerimY.DişiDKulakNo, Tohuklamalar_Son.SonÖstrusTarihiDV AS SonTohTar, Gebelikler_Son.SonGebeKalmaTarihiDV AS SonGbTar, Kuruluklar_Son.SonKuruyaÇıkımTarihiDV AS SonKuruTar, Dogurmalar_Son.SonDoğurmaTarihiDV AS SonDgrmaTar, IIf([SonDoğurmaTarihiDV]<[SonÖstrusTarihiDV],[SonÖstrusTarihiDV],"") AS tabloya_sontohtar, IIf([SonDoğurmaTarihiDV]<[SonGebeKalmaTarihiDV],[SonGebeKalmaTarihiDV],"") AS tabloya_songebetar, Dogurmalar_Son.SonDoğurmaTarihiDV AS tabloya_sondgrmtar FROM AnaVerY INNER JOIN ((((DişiDölVerimY LEFT JOIN (SELECT Tohumlamalar_son.DişiDKulakNo, Last(Tohumlamalar_son.ÖstrusTarihiDV) AS SonÖstrusTarihiDV FROM (SELECT DişiDölVerimY.DişiDKulakNo, DişiDölVerimY.ÖstrusTarihiDV FROM DişiDölVerimY WHERE (((DişiDölVerimY.ÖstrusTarihiDV) Is Not Null)))  AS Tohumlamalar_son GROUP BY Tohumlamalar_son.DişiDKulakNo)  AS Tohuklamalar_Son ON DişiDölVerimY.DişiDKulakNo = Tohuklamalar_Son.DişiDKulakNo) LEFT JOIN (SELECT Kuruluklar_Son.DişiDKulakNo, Last(Kuruluklar_Son.KuruyaÇıkımTarihiDV) AS SonKuruyaÇıkımTarihiDV FROM (SELECT DişiDölVerimY.DişiDKulakNo, DişiDölVerimY.KuruyaÇıkımTarihiDV FROM DişiDölVerimY WHERE (((DişiDölVerimY.KuruyaÇıkımTarihiDV) Is Not Null)))  AS Kuruluklar_Son GROUP BY Kuruluklar_Son.DişiDKulakNo)  AS Kuruluklar_Son ON DişiDölVerimY.DişiDKulakNo = Kuruluklar_Son.DişiDKulakNo) LEFT JOIN (SELECT sonDogurmalar.DişiDKulakNo, Last(sonDogurmalar.DoğurmaTarihiDV) AS SonDoğurmaTarihiDV FROM (SELECT DişiDölVerimY.DişiDKulakNo, DişiDölVerimY.DoğurmaTarihiDV FROM DişiDölVerimY WHERE (((DişiDölVerimY.DoğurmaTarihiDV) Is Not Null)))  AS sonDogurmalar GROUP BY sonDogurmalar.DişiDKulakNo)  AS Dogurmalar_Son ON DişiDölVerimY.DişiDKulakNo = Dogurmalar_Son.DişiDKulakNo) LEFT JOIN (SELECT Gebelikler_son.DişiDKulakNo, Last(Gebelikler_son.GebeKalmaTarihiDV) AS SonGebeKalmaTarihiDV FROM (SELECT DişiDölVerimY.DişiDKulakNo, DişiDölVerimY.GebeKalmaTarihiDV FROM DişiDölVerimY WHERE (((DişiDölVerimY.GebeKalmaTarihiDV) Is Not Null)))  AS Gebelikler_son GROUP BY Gebelikler_son.DişiDKulakNo)  AS Gebelikler_Son ON DişiDölVerimY.DişiDKulakNo = Gebelikler_Son.DişiDKulakNo) ON AnaVerY.AnaKulakNo = DişiDölVerimY.DişiDKulakNo GROUP BY DişiDölVerimY.DişiDKulakNo, Tohuklamalar_Son.SonÖstrusTarihiDV, Gebelikler_Son.SonGebeKalmaTarihiDV, Kuruluklar_Son.SonKuruyaÇıkımTarihiDV, IIf([SonDoğurmaTarihiDV]<[SonÖstrusTarihiDV],[SonÖstrusTarihiDV],""), IIf([SonDoğurmaTarihiDV]<[SonGebeKalmaTarihiDV],[SonGebeKalmaTarihiDV],""), Dogurmalar_Son.SonDoğurmaTarihiDV, Dogurmalar_Son.SonDoğurmaTarihiDV, AnaVerY.İşletmedenÇıkımSebebi HAVING (((AnaVerY.İşletmedenÇıkımSebebi)="Halen İşletmede")) ORDER BY DişiDölVerimY.DişiDKulakNo;
12/07/2015, 16:09

aktif42

Sn Akkaya,
Dediğinizi yaptım. Şahane olmuş. Tabir yerindeyse "Döktürmüşsünüz". Arşivimde çok güzel bir örnek olarak da yerini alacak. Ne diyeyim iyiki varsınız.
12/07/2015, 19:21

ozanakkaya

Benim karakter sayısından kastım döktürme olayı değil, fazla veride sorgunun çakılma endişesi. Siz eski sorguları silmeyin, köşede dursun. Konu taşınmıştır.
1 2