• 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.