SQL. Выбрать пользователей не отправляющих отчеты последние 2 дня в текущем месяце

Таблица

Прошу помощи с составлением sql-запроса. Сегодня 3 ноября и мне нужно вывести ID менеджера который не присылал отчеты последние 2 дня подряд в текущем месяце (1 и 2 ноября этот отчет пуст, в предыдущий месяц смотреть не нужно).

Задача максимально упрощена, в реальном проекте 4 таблицы с 2 join'ами

SELECT user_id, user_first_name, user_last_name 
FROM USERS
WHERE user_id NOT IN (
    SELECT 
        user_id FROM REPORTS 
        WHERE user_id IN (
           SELECT 
           user_id FROM REPORTS 
           WHERE date >= '2020-11-01'
        )
)

Не работает.


Ответы (1 шт):

Автор решения: Akina
SELECT users.*
FROM users
WHERE NOT EXISTS ( SELECT NULL
                   FROM reports
                   WHERE users.user_id = reports.user_id
                     AND reports.`date` > CURRENT_DATE - INTERVAL 2 DAY )

PS. Использован синтаксис MySQL. Для другой СУБД - откорректировать выражение вычисления пограничной даты.

→ Ссылка