sql >> Databasteknik >  >> RDS >> Mysql

SQL / PHP:få alla resultat inom tid X till Y, och upptäck om det finns tillgängliga tider däremellan

Ett sätt skulle vara att använda ett "kalenderbord", eller om du bara är intresserad av en dag skulle ett "klockbord" duga. Följande illustrerar (ungefär) hur du skulle använda det.

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 är ett exempel på hur man skapar en kalender i MySQL



  1. Bästa sättet att hämta de sista 4 raderna från en resultatuppsättning med mysql

  2. tillfälligt inaktivera mysql fjärråtkomst

  3. Försök att öppna ett redan stängt objekt sqlitedatabase

  4. PostgreSQL 9.4:Aggregate/Join-tabell på JSON-fält-id inuti array