Попробуйте
;WITH CTE([min], month_no, [year], remarks)
AS
(
SELECT 001, 1, 2019, 'FULL' UNION ALL
SELECT 001, 2, 2019, NULL UNION ALL
SELECT 001, 3, 2019, 'FULL' UNION ALL
SELECT 002, 1, 2019, NULL UNION ALL
SELECT 002, 2, 2019, NULL UNION ALL
SELECT 002, 3, 2019, 'FULL' UNION ALL
SELECT 003, 1, 2019, NULL UNION ALL
SELECT 003, 2, 2019, 'FULL' UNION ALL
SELECT 003, 3, 2019, NULL
)
SELECT [min],
month_no,
[year],
LEAD(NewRemarks,1)OVER(ORDER BY [MIn]) AS NewRemarks
FROM
(
SELECT [min],
month_no,
[year],
Remarks,
CASE WHEN Remarks IS NOT NULL THEN Remarks
ELSE
(SELECT Top 1 Remarks
FROM CTe i
WHERE i.[year] = o.[year]
)END AS NewRemarks
FROM CTE o
)dt
Результат
min month_no year NewRemarks
----------------------------------
1 2 2019 FULL
1 3 2019 FULL
1 1 2019 FULL
2 1 2019 FULL
2 2 2019 FULL
2 3 2019 FULL
3 2 2019 FULL
3 3 2019 FULL
3 1 2019 NULL