¿Se puede hacer un update donde el filtro (el where) es de varias tablas? me explico: tengo una tabla con el nombre del cliente "a pelo" VARCHAR(15). En la tabla de "facturación", en su momento cometí el error de guardar el nombre del cliente en la tabla factura, en vez de guardar el código. Ahora he creado una tabla de clientes a parte, con su código (clave primaria) y el nombre. Lo que quiero es ejecutar una consulta SQL (si se puede) que me ponga en la tabla "factura", en el campo "codigocliente" el código correspondiente al cliente de la factura según su nombre en la tabla de clientes:
Tabla "cliente":
codigo
nombre
Tabla "factura"
codigocliente
nombrecliente (campo que quitaré cuando consiga añadir el código a codigocliente)
¿Esto se puede hacer con SQL, con un UPDATE? o tengo que hacerlo a mano.
Publicado:
Vie Mar 26, 2010 11:35 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Consulta update de varias tablas
Anuncios
varios escribió:
¿Se puede hacer un update donde el filtro (el where) es de varias tablas? me explico: tengo una tabla con el nombre del cliente "a pelo" VARCHAR(15). En la tabla de "facturación", en su momento cometí el error de guardar el nombre del cliente en la tabla factura, en vez de guardar el código. Ahora he creado una tabla de clientes a parte, con su código (clave primaria) y el nombre. Lo que quiero es ejecutar una consulta SQL (si se puede) que me ponga en la tabla "factura", en el campo "codigocliente" el código correspondiente al cliente de la factura según su nombre en la tabla de clientes:
Tabla "cliente":
codigo
nombre
Tabla "factura"
codigocliente
nombrecliente (campo que quitaré cuando consiga añadir el código a codigocliente)
¿Esto se puede hacer con SQL, con un UPDATE? o tengo que hacerlo a mano.
Sí que puedes, con la siguiente consulta SQL:
Código:
update factura f, cliente c
set f.codigocliente = c.codigo
where f.nombrecliente = c.nombre
Es recomendable hacer copia de seguridad antes de ejecutar la consulta pues es de actualización y hay que proceder con precaución. Si tu motor de base de datos es MySQL puedes utilizar la siguiente aplicación para hacer copia de seguridad:
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A