Mysql
 sql >> Base de données >  >> RDS >> Mysql

SQL / PHP :obtenez tous les résultats dans les temps X à Y, et détectez s'il y a des temps disponibles entre les deux

Une façon serait d'utiliser une «table de calendrier», ou si vous n'êtes jamais intéressé que par un jour, une «table d'horloge» ferait l'affaire. Ce qui suit illustre (à peu près) comment vous l'utiliseriez.

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 est un exemple de comment créer un calendrier dans MySQL