это обновляет значение от родительского идентификатора до childid с той же парентидой
теперь работает - обновлен вопрос, чтобы отразить рабочий пример
WITH CTE AS (
-- This is end of the recursion: Select items with no parent
SELECT orderid, backorderedfromid,[orig. goods], [orig. vat], total
FROM BemTotalSale
WHERE backorderedfromid is null
UNION ALL
-- This is the recursive part: It joins to CTE
SELECT t.orderid, t.backorderedfromid, c.[orig. goods], c.[orig. vat], c.total
FROM BemTotalSale t
INNER JOIN CTE c ON t.backorderedfromid = c.orderid
)
UPDATE bts
SET bts.total = CTE.total,
bts.[orig. goods] = CTE.[orig. goods],
bts.[orig. vat] = CTE.[orig. vat]
FROM CTE
INNER JOIN BemTotalSale as bts ON bts.orderid = cte.orderid