小编典典

试图找到两个可变日期之间免费的车辆

sql

我正在尝试找出哪些车辆(如果有的话)在一对用户输入变量之间作为日期是免费的。

用于旅行的每辆车在行中都有旅行开始和结束的开始日期和结束日期,因此该车辆不可用。

到目前为止,我几乎获得了所有列出的注册信息,而不是任何经过过滤的结果。

SELECT  vehicle_registration FROM 
(select vehicle_registration
FROM trips
WHERE departure
 not BETWEEN :departure AND :return
and return 
not BETWEEN :departure AND :return)
group by vehicle_registration

任何线索,我想念的是什么?


阅读 148

收藏
2021-04-14

共1个答案

小编典典

您正在使用AND,这意味着两个条件都必须为真。您需要改用OR:

select vehicle_registration
  from trips
 where departure not between :departure and :return
    or return not between :departure and :return

一方面,如语法突出显示所示,列名称中return错误 名称不是。这是Oracle中的保留字,如果可以的话,应避免使用它。

2021-04-14