Bueno, en la primera tabla indicas
rut y en la segunda matticula la primera tabla tiene el campo matricula como relacion con la segunda? o es a traves del rut?
Si la relacion es; rut_alumno <-> n_matricula tendras que hacer un Cast pues segun indicas el campo rut_alumno contiene (en el ejemplo) 1 y n_matricula 0001, lo cual me hace pensar que es un varchar (?)
Para actualizar el campo de la primera tabla con uno de la segunda tendrias que hacer algo mas o menos como esto
Esto suponiendo que se relacionen por un campo del mismo tipo por ejemplo
n_matricula<->n_matricula
Con una instruccion como esta actualizarias toda la tabla
<!--sql--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>
SQL </td></tr><tr><td id='CODE'><!--sql1-->[color=blue;font-weight]UPDATE[/color] tabla_alumno a SET a.id_pago
= p.id_pago
FROM Pago_matricula_alumno p
WHERE a.n_matricula
=p.n_matricula <!--sql2--></td></tr></table><div class='postcolor'><!--sql3-->
Ya que si lo quieres es actualizar uno en especifico puedes hacer esto
<!--sql--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>
SQL </td></tr><tr><td id='CODE'><!--sql1-->[color=blue;font-weight]UPDATE[/color] tabla_alumno a SET a.id_pago
= p.id_pago
FROM Pago_matricula_alumno p
WHERE a.n_matricula
=p.n_matricula
and p.matricula
='0001' <!--sql2--></td></tr></table><div class='postcolor'><!--sql3-->
Si la relacion requiere cast
<!--sql--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>
SQL </td></tr><tr><td id='CODE'><!--sql1-->[color=blue;font-weight]UPDATE[/color] tabla_alumno a SET a.id_pago
= p.id_pago
FROM Pago_matricula_alumno p
WHERE a.rut_alumno
=cast(p.n_matricula
as integer)
and p.n_matricula
='0001' <!--sql2--></td></tr></table><div class='postcolor'><!--sql3-->
Puede que tengas que revisar/corregir la sintaxis
pues no estoy muy acostumbrado a SQL Server pero por ahi va
Espero te sirva
Saludos