Autor Tema: UPDATE UTILIZANDO DOS TABLAS VISUAL FOX  (Leído 14837 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado MOISES

  • Sv Full Member
  • *
  • Mensajes: 553
UPDATE UTILIZANDO DOS TABLAS VISUAL FOX
« : febrero 20, 2008, 06:38:13 pm »
necesito de su ayuda con este caso,

necesito actualizar un saldo inicial que se encuentra en la tabla t1 con un saldo final que se encuentra en la tabla t2, las dos posee la misma llave para poder relacionarlas, pero como seria el ULDATE.

muchas gracias.. :sur:

Desconectado NightOwl

  • -^- Elite Silver -^-
  • Sv Full Member
  • *
  • Mensajes: 847
Re: UPDATE UTILIZANDO DOS TABLAS VISUAL FOX
« Respuesta #1 : febrero 20, 2008, 07:35:42 pm »
aca te dejo algo espero te sirva

Paso utilizando codificacion propia de fox
SELEC A
USE ubicacion\t2 ORDE campollave
SELEC B
USE ubicacion\t1
SELECT B
SET RELA TO campollave INTO A

selec b
go top
repla all saldoinicial with a->saldofinal   


Nota: Lo que se pretende es que al seleccionar un registro de la t1 se ubique el cursor en el registro de la t2 cuyo campollave se el mismo para ambas tablas, para que te des cuenta de dicha actualizacion dale un browse para que te fijes que se hace dicha seleccion. Eje.
sele b
browse
sele a
browse

le das click a la tabla "t1", y veras que se ubica el cursor en la tabla "t2" donde el campollave se igual para ambas tablas,

espero te sirva, hay mas de un camino para realizar lo que tu quieres, cualquier cosa estoy a la orden
« Última Modificación: febrero 20, 2008, 07:51:56 pm por NightOwl »
.........

Desconectado MOISES

  • Sv Full Member
  • *
  • Mensajes: 553
Re: UPDATE UTILIZANDO DOS TABLAS VISUAL FOX
« Respuesta #2 : febrero 20, 2008, 08:26:46 pm »
Gracias ...   :thumbsup: y con UPDATE como se podra realizar..

Desconectado NightOwl

  • -^- Elite Silver -^-
  • Sv Full Member
  • *
  • Mensajes: 847
Re: UPDATE UTILIZANDO DOS TABLAS VISUAL FOX
« Respuesta #3 : febrero 20, 2008, 08:52:19 pm »
Gracias ...   :thumbsup: y con UPDATE como se podra realizar..

UPDATE t1 
SET saldoinicial = ( SELECT b.saldofinal
                           FROM t1 a,t2 b
                           WHERE a.campollave=b.campollave)  <- ojo asegurate que  la consulta solo debe regresar un valor
WHERE EXISTS
  ( SELECT b.saldofinal
     FROM t1 a,t2 b
     WHERE a.campollave=b.campollave)


otro forma

UPDATE T1  SET
  saldoinicial =  A.saldofinal
 FROM  T2 A INNER JOIN T1 B ON A.campollave = B.campollave

« Última Modificación: febrero 21, 2008, 06:37:13 am por NightOwl »
.........