подсчитывать числа по месяцам в пределах диапазонов дат в отдельной таблице - PullRequest
0 голосов
/ 23 апреля 2020

Я пытался спросить об этом раньше, но не думаю, что хорошо выполнил свою формулировку, поэтому извиняюсь.

У меня есть таблица, содержащая данные согласно:

;WITH MONTHSCTE AS ( SELECT ReportMonth = DATEADD(MONTH, -1, DATEADD(DAY, 1, EOMONTH(GETDATE(), -OFFSET.X))), Start12Months = DATEADD(MONTH, -12, DATEADD(DAY, 1, EOMONTH(GETDATE(), -OFFSET.X))), End12Months = EOMONTH(DATEADD(MONTH, -1, DATEADD(DAY, 1, EOMONTH(GETDATE(), -OFFSET.X)))), [Month] = DATEPART(MONTH, DATEADD(MONTH, -1, DATEADD(DAY, 1, EOMONTH(GETDATE(), -OFFSET.X)))), [MonthName] = DATENAME(MONTH, DATEADD(MONTH, -1, DATEADD(DAY, 1, EOMONTH(GETDATE(), -OFFSET.X)))), [Year] = DATEPART(YEAR, DATEADD(MONTH, -1, DATEADD(DAY, 1, EOMONTH(GETDATE(), -OFFSET.X)))) FROM (VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12)) OFFSET(X) ) ,CTE2 AS ( SELECT ROW_NUMBER() OVER (ORDER BY ReportMonth) AS [Order] ,* FROM MONTHSCTE ) SELECT * FROM CTE2

enter image description here

Я хотел бы использовать диапазоны дат в этом наборе данных, чтобы запросить другой.

Допустим, у меня есть таблица под названием Attendances, показывающая PatientID и дата посещения. Я хотел бы запросить эту таблицу «Посещаемость» для каждого из диапазонов дат в указанном выше наборе данных.

Итак:

Подсчет количества пациентов в период между 2018-05-01 и 30- 04-2019 посещали 1,2,3,4,5,6 и c раз в каждом соответствующем диапазоне дат.

То же самое для пациентов в период с 01-06-2018 по 2019-05-31 и так далее для каждого диапазона в указанном наборе данных.

Конечный продукт должен выглядеть примерно так: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...