Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 检查日期范围是否与访问权限冲突_Sql_Date_Ms Access - Fatal编程技术网

Sql 检查日期范围是否与访问权限冲突

Sql 检查日期范围是否与访问权限冲突,sql,date,ms-access,Sql,Date,Ms Access,我在写一个查询时遇到了问题,该查询将告诉我给定的汽车是否在指定的日期段内预订。我的表称为Bookings,有CarID、StartDate和EndDate列。如果在用户进入的时间段内预订了汽车,我想返回一行。目前,我有一个问题,我从互联网和一些修补程序中得到: SELECT * FROM Bookings WHERE BookingID NOT IN (SELECT BookingID FROM Bookings WHERE (StartDate <= user_start_da

我在写一个查询时遇到了问题,该查询将告诉我给定的汽车是否在指定的日期段内预订。我的表称为Bookings,有CarID、StartDate和EndDate列。如果在用户进入的时间段内预订了汽车,我想返回一行。目前,我有一个问题,我从互联网和一些修补程序中得到:

SELECT *
FROM Bookings
WHERE BookingID NOT IN
(SELECT BookingID
 FROM Bookings
 WHERE
   (StartDate <= user_start_date AND EndDate >= user_start_date) OR
   (StartDate <= user_end_date AND EndDate >= user_end_date) OR
   (StartDate >= user_start_date AND EndDate <= user_end_date)) AND
   (CarID = 7)
在这里,我使用用户开始日期作为用户的开始日期,用户结束日期作为用户的结束日期,汽车使用7。然而,这种逻辑似乎不起作用。即使我确认日期中绝对没有冲突,它也总是返回行

如何结束此查询以使其正常工作


谢谢

假设所有日期都不能为空,且开始日期小于结束日期,以下查询应列出与给定日期范围重叠的第7辆车的所有预订:

SELECT *
FROM Bookings
WHERE CarID = 7
AND StartDate < user_end_date
AND EndDate > user_start_date