Você pode usar o
INSERT ... EXEC
sintaxe para inserir os dados retornados pelo SELECT dinâmico. Claro, você precisaria remover o INSERT
parte da declaração dinâmica. WHILE (@i <= 100) BEGIN
SELECT @other_att = NAME FROM @other_Table where ID = @i;
SET @sql = 'SELECT '+CAST(@i AS VARCHAR)+' , ''' + @other_att+''', SUM('+ @other_att + ') FROM '+ @EVEN_OTHER_Table;
INSERT INTO @A_Table (ID,att1,att2)
EXEC (@sql);
END