Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Actualizar un campo con valores de otra tabla

Estas en el tema de Actualizar un campo con valores de otra tabla en el foro de Bases de Datos General en Foros del Web. Pues eso, quiero actualizar un campo con valores de otra tabla y no soy capaz de componer correctamente la consulta SQL de actualizacion. Exactamente tengo ...
  #1 (permalink)  
Antiguo 24/05/2004, 09:07
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 2 meses
Puntos: 1
Actualizar un campo con valores de otra tabla

Pues eso, quiero actualizar un campo con valores de otra tabla y no soy capaz de componer correctamente la consulta SQL de actualizacion.

Exactamente tengo dos talas con una lista de productos con 3 campos
tabla1: codigo--nombre--pvd
tabla2: codigo--nombre--pvd

Quiero que tome los valores de una de las dos tablas y como los codigos son iguales le actualice los precios en la otra tabla.

Algo se me resiste porque no doy con ello.

Hablo de AACESS y una SQL normalita.
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #2 (permalink)  
Antiguo 24/05/2004, 16:33
 
Fecha de Ingreso: octubre-2003
Ubicación: Hermosillo, Sonora
Mensajes: 75
Antigüedad: 20 años, 7 meses
Puntos: 0
Cuando en una query utilizas mas de una tabla, y entre ellas hay campos en comun, usualmente se usan alias para representar a las tablas utilizadas. Este alias es utilizado en los campos para hacer la distinción entre ellos, por ejemplo, en el caso que pones:

SELECT A.Codigo, B.Codigo
FROM Tabla1 as A, Tabla2 as B
WHERE A.pvd = B.pvd

te lista los registro de los campos Codigo para cada una de las tablas en todas las ocurrencias de A.pvd = B.pvd.

Tambien es válido esto:

SELECT Tabla1 .Codigo, Tabla2 .Codigo
FROM Tabla1, Tabla2
WHERE Tabla1.pvd = Tabla2.pvd

se recomienda cuando los nombres de las tablas son cortos

entonces suponiendo que quieres pasarle el valor del campo Codigo de la Tabla1 al campo Codigo de la Tabla2, con la relación del campo pvd sería algo así:


UPDATE Tabla1 SET Tabla1.Codigo = Tabla2.Codigo FROM Tabla2 WHERE Tabla1.pvd = Tabla2.pvd

Espero te sirva. Suerte!!
  #3 (permalink)  
Antiguo 24/05/2004, 19:18
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 2 meses
Puntos: 1
Algo no funciona me pregunta por el valor del campo tabla1.codigo y despues tabla2.codigo, como si fuera una consulta dinamica.

UPDATE productos SET productos.pvd = novedades.pvd WHERE novedades.codigo =productos.codigo;

Intento que tome los precios de la tabla novedades y los actualize en la tabla catalogo, en funcion de que los codigos sean iguales
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net

Última edición por maestro; 24/05/2004 a las 19:20
  #4 (permalink)  
Antiguo 25/05/2004, 01:14
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años
Puntos: 0
UPDATE productos INNER JOIN novedades ON novedades.codigo =productos.codigo SET productos.pvd = novedades.pvd;

Prueba con algo así, esto en Access debería funcionar...

Un saludo
  #5 (permalink)  
Antiguo 25/05/2004, 02:58
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 2 meses
Puntos: 1
Perfectamente, gracias, ademas la he estudiado un poco mas y creado una macro que actualiza las tarifas automaticamente todos los lunes (es una tienda virtual).
http://www.expansionweb.net/listado.asp
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 12:05.