Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

SQL / PHP:obtenha todos os resultados dentro do tempo X a Y e detecte se há tempos disponíveis entre eles


Uma maneira seria usar uma 'mesa de calendário', ou se você estiver interessado apenas em um dia, uma 'mesa de relógio' serviria. O seguinte ilustra (aproximadamente) como você o usaria.
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 é um exemplo de como criar um calendário no MySQL