Чтобы запросить пользователей, у которых нет ни одного сеанса между диапазонами дат, вам нужно будет запрашивать пользователей, у которых есть сеансы за пределами диапазона дат, а затем запрашивать пользователей, которых нет среди них.В вашем запросе вы получаете пользователей, у которых есть сеансы внутри диапазона дат, которые действительно возвращают пользователей, у которых есть сеансы внутри диапазона дат и за пределами диапазона дат, и не возвращают пользователей внутри диапазона дат.С точки зрения наборов, давайте рассмотрим
O = "пользователи, имеющие сеансы вне диапазона дат"
I = "пользователи, имеющие сеансы внутри диапазона дат"
A = "все пользователи"
O ∩ I = "пользователи, имеющие сеансы внутри и за пределами диапазона дат"
O ∪ I = "пользователи, имеющие сеансы внутри или за пределами диапазона дат"
Теперь вам нужен
A \ O, и для этого вам нужно найти O, а затем отфильтровать его предметы от A.