Sv Community El Salvador
Soporte y Tecnología => Programación => FOX => Mensaje iniciado por: MOISES en 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:
-
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
-
Gracias ... :thumbsup: y con UPDATE como se podra realizar..
-
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