Hente tid ud fra et datestamp og en timestamp.
Tabeller:booking_options
----------------
id int(11)
option_name text
option_time time
active datetime
author_id int(11)
date
calendar_bookings
----------------
id int(11)
entry_id int(11)
entry_date date
entry_status int(1)
employee_id int(11)
comments text
author_id int(11)
date
Det, der er min mening er, at man skal lægge alle bookinger ind i "calendar_bookings". Den pågældende booking er koblet på booking_options, hvor man lægger alle "produkter" , der kan vælges. På den måde får man en tid (booking_options.option_time) på, hvor lang tid den pågældende booking tager. Fx 14:00:00
Dernæst er der yderligere to tabeller, hvor i de aktiverede dage ligger. Den første er standarddage, hvor man kan lægge fra man-søn og angive hvor lang tid der er tilgængelig på den pågældende dag. fx 07:30:00
Den næste har samme funktion vedr. datoen, men der kan man lægge specifikke datoen - hvis man fx ønsker at holde åbent påskedag el.lign.
calendar_days
----------------
day_iso int(1)
time_available time
author_id int(11)
date
extra_calendar_days
----------------
month int(2)
day int(2)
year int(4)
calendar_date date
time_available date
author_id int(11)
date
Mit problem er, at jeg nu vil have udregnet en startdato og slutdato for en forekomst i calendar_bookings udfra den tid, der er sat, at bookingen skal tage, i booking_options divideret med den tid, der er til rådighed på den pågældende dag i calendar_days eller extra_calendar_days
Hvordan kan jeg lige lave den SQL query!? Jeg er lidt tabt. Indledningsvist har jeg selv prøvet med noget SEC_TO_TIME( SUM( TIME_TO_SEC( 'booking_options.option_time') ) ) for at finde ud af hvor meget tid der er brugt på en specifik dato. Problemet er bare, at det ikke er nok, for hvis der er en forekomst på 14 timer kan der kun laves 7,5 af de 14 timer på den pågældende dag - og så vil det være forkert at sige, at der i alt er 14 timer denne dag, men mere korrekt at sige, at der er 7,5 timer på dag1 og 6,5 timer på dag2.