sql >> Databasteknik >  >> RDS >> Mysql

behöver uppdatering för mysql-fråga för att välja datumintervall för bokning av ett hotellrum eller någonting

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
        )

Var uppmärksam på ordningen eller argumenten:@req_fdate här är första dejten här (från ), @req_tdate är det sista datumet (till ).

För att kontrollera tillgänglighet från Aug 16 till Aug 19 , använd detta:

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'
        )


  1. Återställer åtkomst till förlorat MySQL-lösenord för PHPMyAdmin på WAMP

  2. Node.js MySQL - Fel:anslut ECONNREFUSED

  3. Real max_execution_time för PHP på linux

  4. StrongLoop:EmbedsMany vs hasMany och belongTo