Вкратце: MySQL - Мне нужно указать компанию, которая какое-то время бездействовала (или 365 дней для примера со скрипкой).
Как это проверить? у каждой компании есть по крайней мере контакт, который связан с событием, и у каждого события есть (много) подсобытий, в этой последней таблице у меня есть последняя дата активности, дни, когда считается, что одна компания находится в неактивности, решаются для пользователь, у меня нет проблем с выполнением этого расчета
sql.Append("where DATEDIFF(CURDATE(),DATE(lastdate)) > " +days.ToString()+ "
Проблема в том, что при этом проверяются ВСЕ подсобытия, поэтому проверяется не только последняя дата, но и каждая дата ... а это означает , плохой вывод.
Я думал о подзапросах, чтобы получить или максимальную дату для вспомогательного события контакта, или максимальную дату вспомогательного события.
Затем мы с другом приблизиться к этому, но запрос бесконечен.
select * from subevent se
where DATEDIFF(CURDATE(),DATE(
(select se2.dates from subevent se2
where se2.dates in
(select max(se3.dates)
from subevent se3
where se.idev = se3.idev)
group by se2.dates)));
Я застрял, и я был бы признателен за помощь ...
Попытка группы по, подзапросу и MAX (очевидно, max необходимо, но не о том, где применять ...)
https://www.db-fiddle.com/f/wgSQGn7Z26tHnwm6nAaNSA/8
(На ссылке Fiddle должны быть указаны только имя компании2 и имя компании4 )