@Ocean_77

Как посчитать количество записей при ограничении по id и дате?

У меня есть 2 таблицы. В первой хранятся заявки клиента. Во второй - некоторые события, привязанные к id клиента.
Требуется для каждой заявки из первой таблицы посчитать количество срабатываний событий за 30 дней до даты заявки.
Усложняется все тем, что на одного клиента может быть несколько заявок в разные даты. Также могут быть события после даты заявки.

Таблица заявок:
App_Id             User_Id          App_Date
________________________________________________
10001              101              20-09-2023
10002              102              21-09-2023
10003              102              03-10-2023
10004              103              05-10-2023
10005              103              25-10-2023
10006              104              25-10-2023


Таблица событий:
User_Id         Event_Date
____________________________
101             10-09-2023
101             12-09-2023
101             13-09-2023
101             15-09-2023
102             10-09-2023
102             15-09-2023
102             18-09-2023
102             01-10-2023
102             02-10-2023
103             20-10-2023
103             22-10-2023
104             26-10-2023


В качестве результата хочу получить такую таблицу:
App_Id             User_Id          App_Date            Cnt
______________________________________________________________
10001              101              20-09-2023          4
10002              102              21-09-2023          3
10003              102              03-10-2023          2
10004              103              05-10-2023          0
10005              103              25-10-2023          2
10006              104              25-10-2023          0
  • Вопрос задан
  • 77 просмотров
Пригласить эксперта
Ответы на вопрос 1
tsklab
@tsklab
Здесь отвечаю на вопросы.
Подзапрос:
ВЫБРАТЬ Количество
  ИЗ Таблица событий
  ГДЕ Таблица событий.User_Id = Таблица заявок.User_Id
    И Таблица событий.Event_Date В ПРОМЕЖУТКЕ Таблица заявок.App_Date И (-30 дней)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы