小编Cam*_*Cam的帖子

检索尚未分配到工作的车辆驾驶员的数据

过去 24 小时都在为某事挣扎。需要一些天才来发光。我正在尝试为驱动程序显示每周工作循环/日志,它将显示:

  • 尚未分配给司机的工作
  • 已分配给司机的工作
  • 如果作业已分配给驱动程序,则显示当天可用的驱动程序
  • 如果当天没有工作,则显示所有可用驱动程序的列表

最后2点是我真正挣扎的地方。

我有以下表格:

drivers ('driver_id', 'driver_name')

vehicles ('vehicle_id', 'vehicle_make', 'vehicle_model')

jobs ('job_id', 'collection_address', 'collection_datetime', 'delivery_address', 'deliver_datetime', 'driver_id', 'vehicle_id') 
Run Code Online (Sandbox Code Playgroud)

我附上了下面的输出屏幕:

在此处输入图片说明

例如,如果您查看 23/09/2016,司机 Keith 正在工作,但 Nick 有空。但是,如果我执行子查询,它会显示两个驱动程序,这不是正确的结果。我的 SQL 语句如下,如果有人可以提供帮助,我将不胜感激。

    SELECT listofdays.job_date, j.job_id, IF( j.driver_id > 0 AND j.job_id > 0, (SELECT driver_name FROM t_drivers WHERE driver_id = j.driver_id LIMIT 1), '') as job_driver, IF( j.vehicle_id > 0, (SELECT vehicle_reg FROM t_vehicles WHERE vehicle_id = j.vehicle_id LIMIT 1), 'no') as job_vehicle, j.collection_town, j.collection_postcode, j.delivery_town, j.delivery_postcode, j.job_status
 FROM …
Run Code Online (Sandbox Code Playgroud)

mysql performance subquery select query-performance

6
推荐指数
1
解决办法
106
查看次数

标签 统计

mysql ×1

performance ×1

query-performance ×1

select ×1

subquery ×1