A trick I recently learned is that SQL Server can update local variables as well as fields, in an update statement.
UPDATE table
SET @variable = column = @variable + otherColumn
Or the more readable version:
UPDATE table
SET
@variable = @variable + otherColumn,
column = @variable
I've used this to replace complicated cursors/joins when implementing recursive calculations, and also gained a lot in performance.
Here's details and example code that made fantastic improvements in performance:
http://geekswithblogs.net/Rhames/archive/2008/10/28/calculating-running-totals-in-sql-server-2005---the-optimal.aspx