sql >> Database >  >> RDS >> Mysql

update nodig voor mysql-query voor het kiezen van een datumbereik voor het reserveren van een hotelkamer of iets anders?

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
        )

Let op de volgorde of de argumenten:@req_fdate hier is de eerste date hier (van ), @req_tdate is de laatste datum (tot ).

Om te controleren op beschikbaarheid vanaf Aug 16 tot Aug 19 , gebruik dit:

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. Trends in databasehardware en -infrastructuur

  2. Beste gegevenstype om geldwaarden op te slaan in MySQL

  3. Overeenkomsten en verschillen tussen RANK-, DENSE_RANK- en ROW_NUMBER-functies

  4. Hoe een JSON-object maken en invoegen met behulp van MySQL-query's?