Hi

I need help with the logic behind a query.
I am writing a query to select available caravans for my
caravan booking system. The user specifies the date that
they want. I want the SPROC to show the caravans that are
available for that user specified date.

I wanted to know what i should write for my date logic in
my SPROC.

i.e what i have at the moment is.....
WHERE ((dbo.Booking_Table.Arrival_Date NOT BETWEEN
@Arrival AND @Departure) OR
(dbo.Booking_Table.Departure_Date NOT BETWEEN
@Arrival_Date AND @Departure_Date))

Is this ok??
The problem i have with this is that i want to ensure the
whole of the user specified interval @ArrivalDate to
@departureDate does not clash with any part of the
already booked caravans. How can i do this??







SELECT dbo.Caravan_details.Caravan_No,
dbo.Caravan_details.Caravan_Model,
dbo.Caravan_details.Length, dbo.Caravan_details.Beds,
dbo.Caravan_details.[Cost/day]
FROM dbo.Caravan_Inv INNER JOIN dbo.Caravan_details ON
dbo.Caravan_Inv.Caravan_Model =
dbo.Caravan_details.Caravan_Model AND
dbo.Caravan_Inv.Length = dbo.Caravan_details.Length
WHERE (dbo.Caravan_Inv.Caravan_Inv_No NOT IN
(SELECT
dbo.Caravan_booking.Caravan_Inv_No
FROM
dbo.Booking_Details ON dbo.Caravan_booking.BookingNo =
dbo.Booking_Details.BookingNo
WHERE ((dbo.Booking_Details.Dt_of_arrival BETWEEN
@Arrival AND @Departure) OR
(dbo.Booking_Details.Dt_of_departure BETWEEN @Arrival AND
@Departure))))