This was my go at it in SQL Server:

1:
sql Code:
  1. SELECT
  2.     GuestName,Count(Booking.*)
  3. FROM
  4.     Guest
  5. INNER JOIN Booking
  6.     ON Booking.Guestno = Guest.GuestNo
  7. WHERE
  8.     (MONTH(Booking.DateFrom) = MONTH(GETDATE()) AND YEAR(Booking.DateFrom) = YEAR(GETDATE())
  9.     OR
  10.     (MONTH(Booking.DateTo) = MONTH(GETDATE()) AND YEAR(Booking.DateTo) = YEAR(GETDATE())


2:
sql Code:
  1. SELECT
  2.     Hotel.HotelName,
  3.     Hotel.City,
  4.     Room.RoomNo,
  5.     Room.Type
  6. FROM HOTEL
  7. INNER JOIN ROOM
  8.     ON HOTEL.HotelNo = Room.HotelNo
  9. LEFT OUTER JOIN BOOKING
  10.     ON Room.RoomNo = Booking.RoomNo
  11. WHERE
  12.     GETDATE() BETWEEN Booking.DateFrom AND Booking.DateTo
  13.     AND Booking.RoomNo IS NULL