首页 文章

查询可用于预订的车辆

提问于
浏览
1

我有一个汽车租赁数据库,我正在尝试运行一个查询,返回两个日期之间可用的车辆 . 即开始和结束日期 . 我只想看看我进入的特定日期有哪些车辆可用 .

我无法让它运行 . 它目前只是返回所有车辆,而不是在日期之间 . 租用车辆的车辆不应该影响查询,但它位于中间 .

我将发布设计:

Image

样品:

Booking
样本:

Answer

SELECT v.*
FROM vehicles AS v 
LEFT JOIN (SELECT b.* 
           FROM booking AS b 
           WHERE b.end_rent_date >= 2016-12-09 and b.start_rent_date <= 2016-12-18
          )  AS b ON v.vehicle_id = b.vehicle_id
WHERE b.vehicle_id is null

1 回答

  • 1

    问题在于内部查询中的日期 . 我在MS SQL上没有出现这种情况的错误,所以你可能正在使用这个RDBMS . 简单地说,将日期放在引号中以便将转换工作日期权利 .

    SELECT v.*
    FROM vehicles AS v 
    LEFT JOIN (SELECT b.* 
               FROM booking AS b 
               WHERE b.end_rent_date >= '2016-12-09' and b.start_rent_date <= '2016-12-18'
              )  AS b ON v.vehicle_id = b.vehicle_id
    WHERE b.vehicle_id is null
    

相关问题