>>Change UNION to UNION ALL and if you're using SQL 2008 or up I suggest to switch to MERGE syntax instead of proprietary UPDATE-SQL.
>
>The UNION ALL does not change anything. I do not know about the MERGE syntax. Could you elaborate more on this?
I know it will not change the output, but UNION without ALL does distinct select and in your case you don't want a distinct. In other words, you don't want extra work which is done with DISTINCT.
Merge syntax is documented well in BOL, for your case it will be
MERGE myTable as target
USING (query with UNION ALL) as source
ON target.ID = source.ID
WHEN MATCHED
THEN UPDATE
SET Totals = Source.Totals
If it's not broken, fix it until it is.
My Blog