Кто из подозреваемых получил самый большой тюремный срок? В полученной таблице отобразить имя
select name, subquery.DAYS
from suspects,
(select suspect_id, max(end_date - start_date) DAYS
from crimes
where start_date BETWEEN TO_DATE (start_date, 'DD.MM.YY') AND TO_DATE (end_date, 'DD.MM.YY')) subquery
where suspects.suspect_id = subquery.suspect_id;
[![таблица crimes][1]][1] уже все поперепробывал, не могу вывести имя вместе с максимальным сроком
[![таблица suspects][2]][2]
таблица crimes [1]: https://i.stack.imgur.com/ufqzz.png таблица suspects [2]: https://i.stack.imgur.com/GSAoM.png
Ответы (1 шт):
Автор решения: ESkri
→ Ссылка
Тут напрашивается агр. функция keep, она как раз для этого сделана
select
min(name) keep(dense_rank last order by sum(end_date - start_date)) as winner,
max(sum(end_date - start_date)) as srok
from
crimes
join suspects using(suspect_id)
group by
suspect_id, name