Gracias por responder.
Si, es una estructura maestro-detalle. Puntualmente es cabecera-detalle de
Remitos. El tema es que de todos los remitos de un determinado producto debo
tomar el más reciente, o sea, el que tiene mayor fecha. De ese remito, tomo
un valor de su cabecera y actualizo una tercera tabla.
Entonces: 
T1 es la 3º tabla
nEmpresa y nPunto son las claves del Rem (en realidad hasy un 3º campo en la
clave pero para no complicarlo más solo digo q son 2)
 
update T1 set nNro = (select CabecerT2.nNro from  CabecerT2

            INNER JOIN  RenglonT2 ON CabecerT2.nEmpresa = RenglonT2
.nEmpresa 

            AND CabecerT2.nPunto = RenglonT2 .nPunto 

            WHERE MAX(CabecerT2.fFecha)  )

where RenglonT2 .nProducto = T1.nProducto  

 
Gracias.-




  _____  

De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Juan Carlos
Vazquez
Enviado el: Viernes, 28 de Marzo de 2008 09:26 a.m.
Para: [EMAIL PROTECTED]
Asunto: [dbms] Update desde otra tabla



Alejandro,

 

Entiendo que T2 es un maestro-detalle, cual es la PK ?, nPunto ?

Porque en el Renglon tenes nEmpresa ?

 

Luego queres actualizar sobre T1 nNro que esta en la cabecera de T2 sobre
una columna que parece ser del detalle.

 

Porque no nos aclaras como es la estructura y que pretendes obtener.

 

Saludos,

Juan Carlos 

 


 

-----Mensaje original-----
De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Alejandro A.
ALEKSICH
Enviado el: Jueves, 27 de Marzo de 2008 06:26 p.m.
Para: jcv
Asunto: [dbms] Update desde otra tabla

 

Buenas, necesito armar una sentencia SQL que actualice el campo de una tabla

con el valor tomado desde otra tabla. Mi problema yace en que debo tomar un

solo registro de de 2º tabla el cual cumple la condición de tener la mayor

fecha, o sea es el más reciente.

 

Sería algo como:

update T1 set nNro = (select CabecerT2.nNro from  CabecerT2

            INNER JOIN  RenglonT2 ON CabecerT2.nEmpresa = RenglonT2
.nEmpresa 

            AND CabecerT2.nPunto = RenglonT2 .nPunto 

            WHERE MAX(CabecerT2.fFecha)  )

where RenglonT2 .nProducto = T1.nProducto  

 

Se que no esta bien escrita la sentencia pero eso sería lo que necesito más

o menos lo que necesito.

Estoy trabajando con SQL Server 2k

 

Gracias.-

 

 



__________ NOD32 2981 (20080328) Information __________

This message was checked by NOD32 antivirus system.
http://www.eset.com

Responder a