如何找到在选定间隔内可用的驱动程序?MySQL数据库

dmahnet:

我有两个表:驱动程序和路由。表驱动程序由驱动程序ID,名称和姓氏组成,表路由由路由ID,驱动程序ID,开始时间和结束时间组成。如何确定在选定时间间隔内(例如5-25-2020 14:00:00和5-29-2020 23:00:00之间)可用的驱动程序?

我想出了这段代码,但是却给了我相反的感觉。它显示给定间隔内已经在路线上的驾驶员的姓名和姓氏

select id, name, surname from driver left join route on driver.id=route.driver_id where 5-25-2020 < route.end_time and 5-29-2020 > route.start_time group by 1;

编辑

driver.id | 名称|

| 1 | 名称1 | 姓1

| 2 | 名称2 | 姓2

route.id | route.driver_id | start_time | 时间结束

| 1 | 1 | 2020年5月25日| 2020年5月29日

| 2 | 2 | 2020年5月15日| 2020年5月20日

| 3 | | 2020年5月25日| 2020年5月29日

我要问的是如何选择适用于路由ID 3的所有驱动程序。驱动程序1在这段时间内已经在路由上,因此唯一的选择是驱动程序ID2。如何使用sql查询获取该驱动程序?

专线小巴:

您可以not exists用来列出没有计划路线与目标期间重叠的驱动程序:

select d.*
from drivers d
where not exists (
    select 1
    from routes r
    where   
        r.driver_id = d.driver_id 
        and r.start_time < '2020-05-29 23:00:00'
        and r.end_time   > '2020-05-25 14:00:00'
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Jooq是无法找到Postgres数据库驱动程序

h2数据库驱动程序发出未找到驱动程序的消息

模拟数据库驱动程序

数据库资源管理器看不到MySQL J Connect“无法在MATLAB Java类路径上找到JDBC驱动程序文件”

使用两个数据库时Laravel 5.5 mysql驱动程序错误

测试数据库类型[H2]的驱动程序在类路径中不可用

Java数据库驱动程序设计

代码中的数据库驱动程序规范

NHibernate中的多个数据库驱动程序

从 mongoose 检索 mongoDB 驱动程序数据库

使用sql数据库驱动程序

Mongo Scala 驱动程序 - 无法插入数据库

在Slick中导入不同的数据库驱动程序

Opencart 无法加载数据库驱动程序 mmysqli

未指定数据库驱动程序

Laravel 5如何配置队列数据库驱动程序以连接到非默认数据库?

使用数据库会话驱动程序时如何获取用户的会话?

如何使用Mongo DB JAVA驱动程序从MongoDB中的数据库删除集合?

如何测试JDBC驱动程序是否正确安装以及数据库是否可以连接?

如何将查询记录到数据库驱动程序?

如何为Laravel 5设置数据库队列驱动程序?

如何使用开源语言为数据库创建驱动程序?

如何在Azure Function上管理数据库驱动程序

MongoDB:如何通过Java驱动程序创建经过身份验证的数据库

java数据库连接最终以db:java.sql.SQLException:未找到合适的驱动程序

数据库/ SQL和数据库/ SQL /驱动程序中的命名参数

Liquibase Windows MySQL-找不到数据库驱动程序:com.mysql.cj.jdbc.Driver

而使用JDBC驱动程序与MySQL数据库管理系统如何回滚DDL语句,例如CREATE TABLE和DROP TABLE?

如何在Windows 2008上的Access数据库中使用64位Java ODBC驱动程序?