SELECT
c.id_car AS `ID автомобиля`,
c.marka AS `Марка`,
c.model AS `Модель`,
t.data AS `Дата последнего ТО`,
t.probeg AS `Пробег`,
t.next_teh_obs AS `Дата следующего ТО`,
DATEDIFF(t.next_teh_obs, CURDATE())
AS `Количество дней до ТО`,
CASE
WHEN t.car IS NULL THEN 'Нет данных о ТО'
WHEN t.next_teh_obs < CURDATE() THEN 'Просрочено'
WHEN t.next_teh_obs = CURDATE() THEN 'Сегодня'
ELSE 'Ожидается'
END AS `Статус`
FROM car c
LEFT JOIN teh_obs t
ON t.car = c.id_car
AND t.data = (
SELECT MAX(t2.data)
FROM teh_obs t2
WHERE t2.car = c.id_car
)
ORDER BY c.id_car;