Estoy trabajando en un proyecto en una empresa. Estoy tratando de resolver esta consulta, pero no pude.¿Cómo obtener tiempo disponible para el médico de las citas de hoy?
Mis cuadros son:
Appointments
:doctorId patientId patientName fromDateTime toDateTime -------- --------- ----------- --------------------- --------------------- 56 1 fghfgh 3/23/2012 12:15:00 PM 3/23/2012 01:15:00 PM 56 2 asdadf 3/23/2012 01:15:00 PM 3/23/2012 02:15:00 PM 56 3 werwr 3/23/2012 09:15:00 AM 3/23/2012 10:15:00 AM 57 4 uiyui 3/23/2012 09:15:00 AM 3/23/2012 10:15:00 AM 57 5 asdad 3/23/2012 01:15:00 PM 3/23/2012 02:15:00 PM
Ésta es mi
timeSchedule
tabla:id startTime endTime -- ------------ ------------ 1 08:00:00.000 09:00:00.000 2 09:00:00.000 10:00:00.000 3 11:00:00.000 12:00:00.000 4 12:00:00.000 13:00:00.000 5 13:00:00.000 14:00:00.000 6 14:00:00.000 15:00:00.000 7 15:00:00.000 16:00:00.000
En realidad hay más valores, pero creo que estos son suficientes para resolver el problema.
Estoy comparando citas de pacientes con esta tabla timeSchedule
.
Supongamos ahora que si paso parámetro doctorId
como 56 y considero hoy el 23 de marzo entonces la salida debería ser así:
id startTime endTime
-- --------- --------
1 08:00 AM 09:00 AM
3 11:00 AM 12:00 PM
6 02:00 PM 03:00 PM
7 03:00 PM 04:00 PM
¿Cómo puedo conseguir el resultado anterior?
Por qué ID 1, cuando no hay ningún paciente para 08:00-09:00? ¿Qué pasa con ese tramo de 10:00 a 10:15, para el cual no hay entrada TimeSchedule? –
Esto es confuso. ¿Cuáles son las reglas (no las muestras de datos) que determinan qué debe mostrar su consulta? –
¿Quisiste decir 1:15 a 2:15 en esa última cita para 57? Cambié ya que parecía coincidir con la serie. Esa es también la información que utilicé a continuación. – RThomas