
En este caso, tomamos como ejemplo una tabla “log_consumos” de una base de datos hotelera que contiene tres claves foráneas: con_id, alo_id y res_id, que corresponden al id de una tabla consumo, el id de una tabla alojamiento y el id de una tabla reservas respectivamente. Sucede que los campos alo_id y res_id se han agregado recién a la tabla log_consumo y queremos agregar datos a los campos alo_id y res_id que también tiene la tabla “consumo”, todo en relación al campo con_id. Para actualizar registros en estos campos usamos la siguiente sentencia:
UPDATE log_consumos AS lc
INNER JOIN (SELECT l.con_id,c.alo_id,c.res_id FROM log_consumos AS l INNER JOIN consumo AS c ON l.con_id=c.con_id WHERE l.alo_id IS NULL) AS sq ON lc.con_id=sq.con_id
SET lc.alo_id=sq.alo_id, lc.res_id =sq.res_id
Enamorado del blues, la trova y el rock. Un apasionado a tiempo completo de la tecnología, pivoteo y me adapto a cada nuevo paso que se da. Busco continuamente las mejores prácticas y metodologías para asegurar la calidad en el software y los procesos de negocio. Algunas horas las dedico a buscar conocimiento en filosofía y teología.