У меня есть таблица, в которой хранятся результаты лабораторных анализов пациентов.Могут быть результаты нескольких тестов, таких как альбумин, калий, фосфор и т. Д. Первое чтение для каждого пациента из каждой из этих категорий сохраняется в таблице с именем # MetricFirstGroupReading.
CREATE TABLE #MetricFirstGroupReading (Patient_Key INT, Metric_Group VARCHAR(100),
Observation_Date DATE)
ALTER TABLE #MetricFirstGroupReading
ADD CONSTRAINT UQ_MetricFirst UNIQUE (Patient_Key, Metric_Group);
INSERT INTO #MetricFirstGroupReading
SELECT 1, 'Albumin', '2018-11-15' UNION
SELECT 1, 'Potassium', '2018-12-10' UNION
SELECT 2, 'Albumin', '2018-10-20' UNION
SELECT 2, 'Potassium', '2018-11-25'
Теперь мне нужно заполнить вседаты окончания месяца до текущего месяца в новую таблицу для каждой записи из таблицы #MetricFirstGroupReading.Ниже приведен ожидаемый результат при выполнении запроса в декабре 2018 года.
Я знаю, как это сделать с помощью циклов WHILE.Как сделать это без циклов, используя наборы SQL-запросов в SQL Server 2016?