We cant both be right.
From BOL:-
Setting Variables and Columns
Variable names can be used in UPDATE statements to show the old and new values affected. This should only be used when the UPDATE statement affects a single record; if the UPDATE statement affects multiple records, the variables only contain the values for one of the updated rows.
It just looks wrong to me, trying to set a single variable to many values from a table is a bad idea.