With minDates as (
Select t.vehicle_id, min(t.incident_date_time) as min_Arrival
from incident_log as t
where t.incident_date_time>={ts '2016-02-21 04:00:00'} AND t.incident_date_time<{ts '2016-09-01 03:59:00'}
and t.incident_log_id % 2 = 0
group by t.vehicle_id
)
SELECT
day_type_vs.description, incident_log.sched_time, incident_log.incident_date_time,
incident_log.transit_date_time, incident_log.block_id, incident_log.current_route_id,
incident_types.incident_name, incident_types.incident_desc, incident_log.route_id,
incident_log.vehicle_id, incident_log.driver_id, incident_log.deviation,
direction_codes.direction_description, timepoint_name.tp_lname, incident_log.incident_log_id,
timepoints.tp_loc_x, timepoints.tp_loc_y, timepoints.tp_radius,
day_type_vs.description, trip_timepoint.seq_num, garage.garage_description,
incident_log.tp_id, trip.end_tpid, trip_timepoint.tp_id,
trip.start_time, trip.end_time, trip.trip_id_external,
trip.trip_id, headway_log.scheduled_headway, headway_log.actual_headway,
headway_log.actual_leader
FROM minDates
INNER JOIN incident_log incident_log
ON minDates.vehicle_id = incident_log.vehicle_id
and minDates.min_Arrival = incident_log.incident_date_time
INNER JOIN timepoint_name timepoint_name
ON incident_log.tp_id=timepoint_name.tp_id
LEFT OUTER JOIN headway_log headway_log
ON headway_log.headway_log_id=incident_log.incident_log_id
INNER JOIN incident_types incident_types
ON incident_log.incident_type=incident_types.incident_type
INNER JOIN direction_codes direction_codes
ON incident_log.direction_code_id=direction_codes.direction_code_id
INNER JOIN timepoints timepoints
ON incident_log.tp_id=timepoints.tp_id
INNER JOIN vehicle_schedule vehicle_schedule
ON incident_log.sched_version=vehicle_schedule.sched_version
INNER JOIN trip_timepoint trip_timepoint
ON incident_log.trip_id=trip_timepoint.trip_id
AND vehicle_schedule.sched_version=trip_timepoint.sched_version
AND incident_log.tp_id=trip_timepoint.tp_id
INNER JOIN garage garage
ON incident_log.garage_id=garage.garage_id
INNER JOIN trip trip
ON vehicle_schedule.sched_version=trip.sched_version
AND incident_log.trip_id=trip.trip_id
AND incident_log.current_route_id=trip.route_id
INNER JOIN day_type_vs day_type_vs
ON vehicle_schedule.description=day_type_vs.description
AND vehicle_schedule.day_type_vs=day_type_vs.id
ORDER BY
incident_log.transit_date_time, incident_log.current_route_id, direction_codes.direction_description,
trip_timepoint.seq_num, incident_log.tp_id, incident_log.incident_date_time