Загрузка данных


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;