Представьте, что есть таблица:
declare @tab table (id int, val int)
insert into @tab(id, val)
values (1,10),(2,20),(1,15)
необходимо обновить таблицу и установить для каждого идентификатора сумму всех значений с одинаковыми идентификаторами в таблице
update @tab
set val = (select sum(val) from @tab tab where tab.id = id)
Предложение where последнего запроса всегда истинно, и поэтому каждая строка будет содержать сумму всех значений в таблице.
Если бы таблица была реальной (не переменной таблицы), я бы сослался на нее, используя имя таблицы:
update realtab
set val = (select sum(val) from @tab tab where tab.id = realtab.id)
Можно ли сделать такое обновление для табличных переменных?