Updating a column name to be a concatenation based on the same table
I am not quite sure if I understand your data model from your description, so please check the data to be updated before running it.
You can break the update into two separate statements with a temp table or CTE, which will give you the benefit of seeing the records you want to update. (Use a select from the temp table or CTE beforehand to verify the records found.)
Example
-- Load a temp table with students to update
DROP TABLE IF EXISTS #X

SELECT 
student_id

INTO #X
FROM 
Grades
GROUP BY
student_id
HAVING
COUNT(DISTINCT profession) &gt; 1 -- Assuming they could have multiple grades. 

UPDATE G

SET profession = CONCAT(profession,&quot; + &quot;,grade)

SET 
FROM 
Grades G
INNER JOIN #X X
ON G.student_id = X.student_id 

WHERE
X.student_id IS NOT NULL -- Always helpful to have WHERE clause to avoid any accidents.