Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Benötigen Sie eine Aktualisierung für die MySQL-Abfrage, um den Datumsbereich für die Reservierung eines Hotelzimmers oder irgendetwas anderes auszuwählen

SELECT  *
FROM    room
WHERE   room_no NOT IN
        (
        SELECT  room_no
        FROM    booking
        WHERE   check_outdate >= @req_fdate
                AND check_indate <= @red_tdate
        )
        AND room_no NOT IN
        (
        SELECT  room_no
        FROM    reservation
        WHERE   check_outdate >= @req_fdate
                AND check_indate <= @red_tdate
        )

Achten Sie auf die Reihenfolge bzw. die Argumente:@req_fdate hier ist das erste Datum hier (von ), @req_tdate ist das letzte Datum (bis ).

Um die Verfügbarkeit ab dem Aug 16 zu prüfen bis zum Aug 19 , verwenden Sie dies:

SELECT  *
FROM    room
WHERE   room_no NOT IN
        (
        SELECT  room_no
        FROM    booking
        WHERE   check_outdate >= '2010-08-16'
                AND check_indate <= '2010-08-19'
        )
        AND room_no NOT IN
        (
        SELECT  room_no
        FROM    reservation
        WHERE   check_outdate >= '2010-08-16'
                AND check_indate <= '2010-08-19'
        )