consulta de update

11/05/2006 - 14:53 por Mennegguzzi | Informe spam
Hola, le detallo mi problema:

tengo una tabla con la siguiente estructura:

Tabla_Cod1 Tabla_Nro1 Tabla_Cod2 Tabla_Nro2 Tabla_Vto
FA 1 FA 1
28-04-2006
FA 2 FA 2
03-05-2006
FA 3 FA 3
10-05-2006
OP 8 FA 1
06-05-2006 (1)
OP 9 FA 2
08-05-2006 (2)
FA 4 FA 4
15-05-2006

lo que necesito es que para cada registro donde el campo Tabla_Cod1 sea = a
'OP', el campo Tabla_Vto sea igual al campo Tabla_Vto del registro donde
el campo Tabla_Cod1 sea igual al campo Tabla_Cod2 del registro original, y
lo miso con los campos Tabla_Nro1 y Tabla_Nro2

como creo que no sé explicarlo muy bien lo hago con el ejemplo:

(1) necesito que es valor sea 28-04-2006, igual que el mismo campo en el
primer registro de la tabla del ejemplo, ver que los campos Cod2 y Nro2 del
4º registro son iguales a los campos Cod1 y Nro1 del 1º registro

(2) necesito que es valor sea 03-05-2006, igual que el mismo campo en el
segundo registro de la tabla del ejemplo, ver que los campos Cod2 y Nro2 del
5º registro son iguales a los campos Cod1 y Nro1 del 2º registro


Pido disculpas por no saber explicarlo mejor, espero se pueda entender

intenté hacerlo con la siguiente consulta, pero de el resultado que les
copio abajo:

Consulta:

UPDATE Tabla
SET Tabla_Vto = C.Tabla_Vto
FROM Tabla INNER JOIN Tabla C ON
Tabla_Cod2 = C.Tabla_Cod1 AND
Tabla_Nro2 = C.Tabla_Nro1
WHERE Tabla_Cod1 = 'OP' AND
Tabla_Cta = 'PROV1'

Resultado:

Servidor: mensaje 209, nivel 16, estado 1, línea 1
Ambiguous column name Tabla_Cod2 '.
Servidor: mensaje 209, nivel 16, estado 1, línea 1
Ambiguous column name 'Tabla_Nro2'.
Servidor: mensaje 209, nivel 16, estado 1, línea 1
Ambiguous column name 'Tabla_Cod1 '.
Servidor: mensaje 209, nivel 16, estado 1, línea 1
Ambiguous column name 'Tabla_Cod1 '.
Servidor: mensaje 209, nivel 16, estado 1, línea 1
Ambiguous column name 'Tabla_Cta'.


Alguno quizás pueda ayudarme u orientarme como hacerlo

Muchísimas gracias de antemano

Saludos

Pablo
 

Leer las respuestas

#1 rossittamarin
11/05/2006 - 15:34 | Informe spam
Hola pablo

creo que puedes solucionar tu problema asi:

UPDATE Tabla
SET Tabla_Vto = V.Tabla_Vto
FROM Tabla T
INNER JOIN Tabla V ON V.Tabla_Cod2 = T.Tabla_Cod1 AND V.Tabla_Nro2 T..Tabla_Nro1
WHERE V.Tabla_Cod1 = 'OP' AND V.Tabla_Cta = 'PROV1'

Preguntas similares