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

Ayuda con UPDATE y MAX

Estas en el tema de Ayuda con UPDATE y MAX en el foro de Bases de Datos General en Foros del Web. Hola. Necesito vuestra ayuda. Necesito actualizar un campo en la tabla Prest_LinAlb, el cual es LinAlb_Alb_Id Quiero cogerlo de la tabla Prest_Albaranes, el cual se ...
  #1 (permalink)  
Antiguo 16/06/2008, 08:18
 
Fecha de Ingreso: junio-2008
Mensajes: 21
Antigüedad: 15 años, 10 meses
Puntos: 0
Ayuda con UPDATE y MAX

Hola.
Necesito vuestra ayuda.

Necesito actualizar un campo en la tabla Prest_LinAlb, el cual es LinAlb_Alb_Id
Quiero cogerlo de la tabla Prest_Albaranes, el cual se llama alb_Id
Estas tablas estan relacionadas mediante las PK alb_Id (Prest_Albaranes) y LinAlb_id (Prest_LinAlb).
Disculpad si estan un poco fastidiosas el nombre de las tablas y los campos.

Bueno, la cosa que quiero es actualizar el campo LinAlb_Alb_Id sabiendo que quiero modificar la tupla correspondiente al valor mas alto de LinAlb_id. Los dos campos corresponden a la misma tabla.
Y por ultimo, el dato quiero extraerlo del dato mas grande que hay en el campo alb_id de la tabla Prest_Albaranes.


Yo he creado la siguiente instruccion, pero me da un error y ya no se avanzar mas.

UPDATE Prest_LinAlb SET Prest_LinAlb.LinAlb_Alb_Id=Prest_Albaranes.alb_Id
WHERE (max(Prest_LinAlb.LinAlb_id) IN (SELECT Prest_LinAlb.LinAlb_id,Prest_Albaranes.alb_Id
FROM Prest_LinAlb,Prest_Albaranes));


Podeis ayudarme??

Gracias
  #2 (permalink)  
Antiguo 16/06/2008, 10:18
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Ayuda con UPDATE y MAX

Cita:
Bueno, la cosa que quiero es actualizar el campo LinAlb_Alb_Id sabiendo que quiero modificar la tupla correspondiente al valor mas alto de LinAlb_id. Los dos campos corresponden a la misma tabla.
Código:
UPDATE Prest_LinAlb 
     SET Prest_LinAlb.LinAlb_Alb_Id=XX
WHERE Prest_LinAlb.LinAlb_id=YY;

YY

Código:
SELECT max(Prest_LinAlb.LinAlb_id) from Prest_LinAlb 

Cita:
Y por ultimo, el dato quiero extraerlo del dato mas grande que hay en el campo alb_id de la tabla Prest_Albaranes.
XX

Código:
SELECT max(Prest_Albaranes.alb_Id) from Prest_Albaranes 

Todo junto

Código:
UPDATE Prest_LinAlb 
     SET Prest_LinAlb.LinAlb_Alb_Id=(SELECT max(Prest_Albaranes.alb_Id) 
                                                         from Prest_Albaranes)
WHERE Prest_LinAlb.LinAlb_id=(SELECT max(Prest_LinAlb.LinAlb_id) 
                                                   from Prest_LinAlb);
Creo!!!
Pero creo que te estas complicando la vida, no seria mejor dar de alta el albaran y con el id luego dar de alta las lineas de este...

Quim
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




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