Mysql
 sql >> Database >  >> RDS >> Mysql

SQL / PHP:ottieni tutti i risultati entro il tempo da X a Y e rileva se ci sono tempi disponibili nel mezzo

Un modo sarebbe usare una "tabella del calendario", o se sei interessato solo a un giorno, una "tabella dell'orologio" farebbe. Quanto segue illustra (approssimativamente) come lo useresti.

SELECT clock.time AS available
FROM clock
LEFT JOIN bookings ON clock.time BETWEEN bookings.from AND bookings.to
                  AND bookings.date = '2013-01-01' 
WHERE bookings.id IS NULL

http://www.brianshowalter.com/calendar_tables è un esempio di come creare un calendario in MySQL