Asunto: Actualizar valor tabla a partir de otra tabla Update SQL
Hola, tengo dos tablas, facturas y clientes.
Las facturas tienen los campos:
numero
codigocliente
importe
codigobarras
...
Los clientes tienen los campos:
codigo
cif
nombre
codigobarras
...
Lo que quiero es ejecutar una consulta SQL con Update que me actualice el valor del campo "codigobarras" de las facturas a partir del campo "codigobarras" de la tabla clientes. Teniendo en cuenta que la tabla facturas tiene el campo "codigocliente" y la tabla clientes el campo "codigo" por el que estan relacionadas, creo que se llama clave foránea o algo así, no tengo muchos conocimientos.
¿Esta actualización se puede hacer por SQL?
Publicado:
Mar Oct 20, 2015 7:38 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Actualizar valor tabla a partir de otra tabla Update SQL
Anuncios
varios escribió:
Lo que quiero es ejecutar una consulta SQL con Update que me actualice el valor del campo "codigobarras" de las facturas a partir del campo "codigobarras" de la tabla clientes. Teniendo en cuenta que la tabla facturas tiene el campo "codigocliente" y la tabla clientes el campo "codigo" por el que estan relacionadas, creo que se llama clave foránea o algo así, no tengo muchos conocimientos.
¿Esta actualización se puede hacer por SQL?
Hola, sí es posible hacerla por SQL, la consulta a ejecutar sería:
Código:
update facturas f
set f.codigobarras = (
select c.codigobarras
from clientes c
where f.codigocliente = c.codigo);
Como ves, de lo que se trata es de actualizar el campo "codigobarras" de las facturas a partir de lo que devuelva la subconsulta anidada donde indicamos que el usuario está relacionado con las facturas por el campo "codigocliente".
Publicado:
Mar Oct 20, 2015 7:41 am
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: [RESUELTO] Actualizar valor tabla de otra tabla Update SQL
Anuncios
alonsojpd escribió:
Código:
update facturas f
set f.codigobarras = (
select c.codigobarras
from clientes c
where f.codigocliente = c.codigo);
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