Tarih Aralığı Sorgulama

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Selamlar,

Sorun çözüldü mü?

Çözülmedi ise sebebi şu. Bu tür tarih sorgulamalarında uzun dönemli çıkış yapmış olan şahsı, verdiğin tarih aralığında yakalayamaman doğru. Neden çünkü tarih kriterlerine başlangıç ve bitişler girmiyor.

Sorgulamada şu olmalı. (eğer o iki tarih arasında herhangi bir gün bile izin yapmış olanların listeleneceğini varsayıyorum)

Kod: Tümünü seç

  SELECT *
  FROM TABLO_ADI
  WHERE (BASTARIH >= :DT_RBTARIH AND :BASTARIH <= :DT_RSTARIH) OR
  (SONTARIH >= :DT_RBTARIH AND SONTARIH <= :DT_RSTARIH) OR
  (BASTARIH <= :DT_RBTARIH AND SONTARIH >= :DT_RSTARIH)
Bu sorgu istediğiniz sonucu döndürecektir. Sorguyu inceleyelim ve atlanan noktayı tespit edelim.

Kod: Tümünü seç


            :DT_RBTARIH     :DT_RSTARIH
            +-------------------------+

1. Drm            B---------------S 
2. Drm  B--------------S
3. Drm                   B-----------------------S
4. Drm B-------------------------------------------------------S

1. Durumdaki Kayıt WHERE koşulundaki verdiğimiz ilk kıstasa gireceği için sorguda görülür.
2. Durumdaki Kayıt WHERE koşulundaki verdiğimiz ikinci kıstasa gireceği için sorguda görülür.
3. Durumdaki Kayıt WHERE koşulundaki verdiğimiz ilk kıstasa gireceği için sorguda görülür.
4. Durumdaki Kayıt (ki sizde problem yaratan kayıt) WHERE koşulunda verdiğimiz son kıstasa gireceği için sorguda görülür.

Umarım anlatabilmişimdir ve anlaşılır olmuştur. Sorunuz olursa çekinmeyin.

Kolay Gelsin

Not : Mustafa'm Adminim, hayırdır kodlama tag'ları çalışmıyor nedendir acaba? Çalışması lazım aksi takdirde yanım tam olarak anlaşılmaz.
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

@kuri_Yj ustam olayı iyi yakalamışsın ben şimdi dostun son yazısını okuyordum ve jetonum düşmüştü sekiz köşeli bile değilmiş herahde tırtırlı ki düşmemiş. yalnış veri girişi olmuştur diye diye dostun kafasını yedik. meğerse sorun veri olarak girilen iki tarihin sorguda kriter olarak girilen iki tari aralığını içermemesi ve ama kişi bu tarih aralığında da raporlu olduğunda sorgu sonucunda bu kişinin istenmesi

kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
Cevapla