Edit:
Я только что полностью обновил свой ответ. Извините за путаницу.
Итак, у вас есть как минимум две таблицы:
- Скорая помощь
- Информация об обработке
Давайте назовем эти две таблицы [ERVisits] и [Treatments].
Я полагаю, что в обеих таблицах есть поле id для пациента / участника. Давайте назовем это [MemberId].
Как насчет этого концептуального запроса:
WITH [FirstTreatments] AS
(
SELECT [MemberId], MIN([TreatmentDate]) AS [FirstTreatmentDate]
FROM [Treatments]
GROUP BY [MemberId]
)
SELECT V.[MemberId], T.[FirstTreatmentDate], COUNT(*) AS [ERVisitCount]
FROM [ERVisits] AS V INNER JOIN [FirstTreatments] AS T ON T.[MemberId] = V.[MemberId]
WHERE DATEDIFF(DAY, V.[VisitDate], T.[FirstTreatmentDate]) BETWEEN 0 AND 365
GROUP BY V.[MemberId], T.[FirstTreatmentDate]
В этом запросе должно быть указано, сколько раз пациент / член посещал РП за год до его / ее первой даты лечения.
Вот тестер: https://rextester.com/UXIE4263