I am creating a database that is for booking hotel rooms. I am stuck on a constraint that checks if a 'dateFrom' variable for a guest is between any 'dateFrom' and 'dateTo' variables for that specific guest. ie) a guest cannot book more than 1 room at a time.
I am getting an error: "cannot use subquery in check constraint":
CREATE TABLE tomsBooking 
(
    hotelNo HotelNo NOT NULL,
    guestNo INT NOT NULL,
    dateFrom DATE NOT NULL,
    dateTo DATE NOT NULL, 
    roomNo RoomNumber 
    CONSTRAINT GuestOverlap
    CHECK ( NOT EXISTS 
                (SELECT * FROM tomsBooking b 
                                WHERE b.guestNo = b.guestNo
                                AND b.dateTo >= dateFrom 
                                AND b.dateFrom <= dateTo
                            )
             )
);
 
    