Пример данных
DECLARE @TAble1 AS TABLE (masterid INT , childid INT)
INSERT INTO @Table1
SELECT 1 , NULL UNION ALL
SELECT 1 , NULL UNION ALL
SELECT 1 , NULL UNION ALL
SELECT 2 , NULL UNION ALL
SELECT 2 , NULL UNION ALL
SELECT 1 , NULL
DECLARE @TAble2 AS TABLE (masterid INT , childid INT)
INSERT INTO @TAble2
SELECT 1, 2UNION ALL
SELECT 1, 3UNION ALL
SELECT 1, 4UNION ALL
SELECT 2, 9UNION ALL
SELECT 2, 8UNION ALL
SELECT 1, 5
Этого состояния обновления достаточно для обновления таблицы. Таблица1 Нет необходимости использовать любую оконную функцию
SELECT * FROM @TAble1
UPDATE T1
SET T1.childid = T2.childid
FROM @TAble1 T1
INNER JOIN @TAble2 T2
ON T1.masterid = T2.masterid
SELECT * FROM @TAble1
Результат до обновления
masterid childid
1 NULL
1 NULL
1 NULL
2 NULL
2 NULL
1 NULL
Результат после обновления
masterid childid
1 2
1 2
1 2
2 9
2 9
1 2