SELECT
q.id_dogovor AS 'ID договора',
q.marka AS 'Марка',
q.model AS 'Модель',
q.data_vidachi AS 'Дата выдачи',
q.data_vozvrata AS 'Дата возврата',
DATEDIFF(q.data_vozvrata, q.data_vidachi) AS 'Количество дней аренды'
FROM
(
SELECT
d.id_dogovor,
c.marka,
c.model,
d.data_vidachi,
d.data_vozvrata,
(
SELECT MAX(t.data)
FROM teh_obs t
WHERE t.car = c.id_car
AND t.data <= d.data_vidachi
) AS last_to_date
FROM dogovor d
JOIN car c ON d.id_car = c.id_car
) AS q
WHERE
DATEDIFF(q.data_vozvrata, q.data_vidachi) > 10
AND q.last_to_date IS NOT NULL
AND DATEDIFF(q.data_vidachi, q.last_to_date) BETWEEN 0 AND 60
ORDER BY q.id_dogovor;