Boş Olan (tabloda o...
 
Bildirimler
Hepsini Temizle

Boş Olan (tabloda olmayan) saat aralıklarını getirmek  

  RSS
sami onur gül
(@samionurgul)
Üye
Merhaba, yapmam gereken bir poliklinik randevu ekranı var. 
benden istenen, randevu tablosunda bulunan randevu tarihlerini, 08:00 ve 17:00 saatleri arasından çıkararak tüm boş zamanları dakika cinsinden getirmek ve hangi saatler arasında randevu verilebileceğini göstermek. 
örneğin saat 9.30 da 10 dk lık bir randevum olsun diğer randevum da saat 10.45 te yine 10 dk lık olsun 
 
randevuBaslangicTarihi ,      randevuBitisTarihi 
11.03.2013 09:30:00      ,    11.03.2013 09:40:00 
11.03.2013 10:45:00      ,    11.03.2013 10:55:00 
istediğim dönüş tipi: 
aralik                          , dakika 
08:00:00 - 09:30:00    , 90 
09:40:00 - 10:45:00    , 65 
10:55:00 - 17:00:00    , 365 
select (t.bitis - t.baslangic) * 1440 as aralik from KOD_RANDEVU_SAAT_PROFIL_DETAY t where t.baslangic between to_date('11.03.2011 08:00:00', 'dd-mm-yyyy hh24:mi:ss') and TO_DATE('11.03.2011 17:00:00', 'dd-mm-yyyy hh24:mi:ss') order by t.baslangic asc 
bu sorgu bana var olan kayıtların tarih farkını getiriyor ama istediğim bu değil, dışında kalan aralıklar. 
not exists ile çözmeye çalıştım ama beceremedim. Muhtemel nedeni de var olan kayıtlar arasından arama yapması.
bana bir çözüm yolu gösterirseniz çok sevinirim. 
Şimdiden yardımlarınız için çok teşekkür ederim.
Alıntı
Gönderildi : 17/12/2013 12:28
İsmail ÇOBAN
(@ismailcoban365)
Üye

Merhaba, 

 Bence şu şekilde düşünülebilir. Tüm saatleri boş olarak gösterip daha sonra dolu olanları her seferinde güncel tutarak doldu kayıt alınamaz şeklinde belirtebilirsiniz. Eğer çözüm bulamazsanız yardımcı olabilirim.

 İyi çalışmalar.  

CevapAlıntı
Gönderildi : 12/03/2014 14:02
Paylaş: