我正在研究车辆预订系统,并有两个名为:VehicleBookingStatus 和 VehicleDetails 的表
由于 Vehicle_Id 很常见,它们与主要外来概念相关联。
我的车辆 1(ID)是在 1 月 5 日到 1 月 10 日之间预订的。所以我需要对这两个表进行连接查询,这可以根据可用性给出结果。
例如:车辆不适用于 3 个条件。
- 日期为 1 月 3 日至 1 月 7 日
- 日期为 1 月 7 日至 1 月 13 日。
- 日期为 1 月 3 日至 1 月 15 日。
我已经创建了如下所示的 SP,但它没有给我想要的输出:
Select
VehicleDetails.Vehicle_Id,
VehicleDetails.Vehicle_Name,
VehicleDetails.Vehicle_Capacity
from VehicleDetails
left join VehicleBookingStatus on
VehicleDetails.Vehicle_Id = VehicleBookingStatus.Vehicle_ID
where
((@UserDate NOT between VehicleBookingStatus.Assign_Date and VehicleBookingStatus.Return_Date)
AND
(@UserEndDate not between VehicleBookingStatus.Assign_Date and VehicleBookingStatus.Return_Date))
OR
((@UserDate not between VehicleBookingStatus.Assign_Date and VehicleBookingStatus.Return_Date)
and (@UserEndDate > VehicleBookingStatus.Return_Date))
@UserDate 和 @UserEndDate 将由用户提供。
谢谢。