You have a couple of problems to solve here, but I'll suggest some pointers
First, you have to get a list of all the numbers in the 'no' column, perhaps using a
DISTINCT[
^] query, perhaps into a
temporary table[
^]
Second, for each of the 'no' you get in the first query, you have to find all the 'Name' variants, perhaps walking through the temp table with a
CURSOR[
^] may be useful
Perhaps a select to get the first name that has the same 'no', using
LIMIT[
^] - only you know the definition of 'first', because that implies order, that we are unaware of
Then an
UPDATE[
^] of the original source table, using the 'name' you gleaned form the second query, where the 'no' is from the temp cursor row
All the clues are in there :)