none
Tarih Aralığından Önceki ve Sonraki Kayıtları Listeleme RRS feed

  • Soru

  • Selamlar,

    Tarih               Adet

    07.11.2017      55
    07.11.2017     44
    24.12.2017      98
    04.01.2018      14
    06.02.2018      40
    06.02.2018     55 
    08.03.2018     62

    Veritabanımda yukarıdaki gibi kayıtlarım var tablodan verileri çekiyorum fakat sadece seçtiğim tarih aralığındaki verileri çekebiliyorum.. yapmak istediğim ise şudur;
    Formumda 2 adet DateTimePicker var. 1. si ile başlangıç tarihini 2. si ile bitiş tarihini seçip sayfaya verileri listeliyorum fakat yapmak istediğim örn.
    1. DateTimePicker (date1) da tarihi 01.01.2018 ve ikincisinide (date2) bugün olarak seçtiğimde ilk satırda bu tarihten önceki adetlerin tümünün toplamının gelmesini yani 197 rakamı gelmeli.
    sonraki satırlarda ise seçtiğim tarih aralığındaki kayıtların aynı gün olanların toplamı alınmış şekilde ayrı ayrı gelmeli yani formum aşağıdaki gibi olmalı. 

    Tarih               Adet
    01.01.2018     197
    04.01.2018     14
    06.02.2018     95
    08.03.2018     62


    Yardımlarınız için şimdiden çok teşekkür ederim..
    12 Nisan 2018 Perşembe 12:40

Yanıtlar

  • DECLARE @baslangic DATE = '2018.1.1';
    DECLARE @bitis     DATE = '2019.1.1';
    
    
    
    
    SELECT @baslangic AS [Tarih],  SUM(Adet) As [Adet] FROM [Tablo]
    WHERE CONVERT(DATE, [Tarih]) < @baslangic
    
    UNION ALL
    
    SELECT  r.[Tarih] AS [Tarih] ,  SUM(r.[Adet]) AS [Adet]
    FROM (
        SELECT CONVERT(DATE, [Tarih]) AS [Tarih], [Adet]
        FROM [Tablo]
      WHERE CONVERT(DATE, [Tarih]) > @baslangic
        AND CONVERT(DATE, [Tarih]) < @bitis
        ) AS r
    GROUP BY r.[Tarih]
    gibi.. eşitlik durumunu salladım siz kendinize göre değiştirin... bu tip sorulardan önce üzerinde çalışabileceğimiz bir create script i hazırlarsanız daha iyi yardımcı olabiliriz veya soruyu okumaya devam edebiliriz.

    www.cihanyakar.com



    • Düzenleyen Cihan YakarMVP 12 Nisan 2018 Perşembe 13:27
    • Yanıt Olarak İşaretleyen backmount 12 Nisan 2018 Perşembe 13:34
    • Yanıt İşaretini Geri Alan backmount 12 Nisan 2018 Perşembe 13:34
    • Yanıt Olarak İşaretleyen backmount 12 Nisan 2018 Perşembe 13:35
    12 Nisan 2018 Perşembe 13:26

Tüm Yanıtlar

  • DECLARE @baslangic DATE = '2018.1.1';
    DECLARE @bitis     DATE = '2019.1.1';
    
    
    
    
    SELECT @baslangic AS [Tarih],  SUM(Adet) As [Adet] FROM [Tablo]
    WHERE CONVERT(DATE, [Tarih]) < @baslangic
    
    UNION ALL
    
    SELECT  r.[Tarih] AS [Tarih] ,  SUM(r.[Adet]) AS [Adet]
    FROM (
        SELECT CONVERT(DATE, [Tarih]) AS [Tarih], [Adet]
        FROM [Tablo]
      WHERE CONVERT(DATE, [Tarih]) > @baslangic
        AND CONVERT(DATE, [Tarih]) < @bitis
        ) AS r
    GROUP BY r.[Tarih]
    gibi.. eşitlik durumunu salladım siz kendinize göre değiştirin... bu tip sorulardan önce üzerinde çalışabileceğimiz bir create script i hazırlarsanız daha iyi yardımcı olabiliriz veya soruyu okumaya devam edebiliriz.

    www.cihanyakar.com



    • Düzenleyen Cihan YakarMVP 12 Nisan 2018 Perşembe 13:27
    • Yanıt Olarak İşaretleyen backmount 12 Nisan 2018 Perşembe 13:34
    • Yanıt İşaretini Geri Alan backmount 12 Nisan 2018 Perşembe 13:34
    • Yanıt Olarak İşaretleyen backmount 12 Nisan 2018 Perşembe 13:35
    12 Nisan 2018 Perşembe 13:26
  • Haklısınız, Teşekkür ederim..
    12 Nisan 2018 Perşembe 13:35