sql >> Databasteknik >  >> RDS >> Mysql

Hitta lediga rum (bokningssystem)

Här är en fråga som kommer att visa de INTE-GRATIS-rummen för ett datumintervall:

select room from bookings where
(arrival<'2011-03-12' and departure>='2011-03-12') -- overlap at the end
OR (arrival<='2011-03-10' and departure>'2011-03-10') -- overlap at the start
OR (arrival>='2011-03-10' and departure<='2011-03-12') -- complete overlap

Du kan använda detta med

select roomnumber from rooms where roomnumber not in (... as above ...)

för att hitta de GRATIS rummen



  1. Varför alla småföretag behöver en databas

  2. SQL Server-utgångsklausul till en skalär variabel

  3. Hur MID() fungerar i MariaDB

  4. Docker-behållare för Postgres 9.1 exponerar inte port 5432 för värd