查询可预订的车辆

Posted

技术标签:

【中文标题】查询可预订的车辆【英文标题】:Query for which vehicle is available on for a booking 【发布时间】:2017-03-27 12:12:12 【问题描述】:

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

我无法让它运行。它目前只是归还所有车辆,而不是在日期之间。车辆租用表不应该影响查询,但它在中间。

我将发布设计:

示例:

示例:

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

【问题讨论】:

我删除了不兼容的数据库标签。请标记您实际使用的数据库。 你的问题中查询的结果是什么? 运行查询时,我目前正在取回所有车辆,但我应该只取回 12 月 9 日至 18 日期间未租用的车辆 请在您的问题中输入一些示例数据和预期结果 NOT EXISTS 将直接回答问题 【参考方案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

【讨论】:

以上是关于查询可预订的车辆的主要内容,如果未能解决你的问题,请参考以下文章

车辆驾驶行为实时分析与历史查询

如何将查询参数传递给 Rails API 控制器?

选择预订的快速复杂查询

使用查询构建器和 Symfony 的预订系统

帮助编写大厅预订日期可用性搜索查询

更新和删除不适用于使用 JAVAFx 的 mysql 数据库