Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Proyecto AjpdSoft: Foros

AjpdSoft :: Ver tema - Consulta update de varias tablas
Foros de discusión Buscar Perfil FAQ Iniciar sesión
Information Consulta update de varias tablas

Publicar nuevo tema Responder al tema
Foros de discusión » MySQL Server, MySQL Client, motor de bd gratuito   
Ver tema anterior :: Ver tema siguiente
AutorMensaje
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Consulta update de varias tablas Responder citando

¿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.
MensajePublicado:
Vie Mar 26, 2010 11:35 am
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Consulta update de varias tablas Responder citando



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:

http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=445

Si quieres más información sobre comandos SQL puedes echarle un vistazo a este artículo:

http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=157
MensajePublicado:
Vie Mar 26, 2010 11:39 am
Top of PageVer perfil de usuario
Mostrar mensajes de anteriores:   
Todas las horas son GMT - 1 Horas
Publicar nuevo tema Responder al tema
Foros de discusión » MySQL Server, MySQL Client, motor de bd gratuito  

Cambiar a:  
Key
  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