Forum
Bildirimler
Hepsini Temizle
Oracle
2
Yazılar
2
Üyeler
0
Reactions
541
Görüntüleme
Konu başlatıcı
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.
Gönderildi : 17/12/2013 13:28
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.
Gönderildi : 12/03/2014 15:02