Update de una misma tabla (20090203)

03/02/2009 - 15:52 por Mauricio | Informe spam
Hola a todos,
producto de una conversión de datos tengo una tabla de productos que
tiene 2 registros "prácticamente idénticos". Una de las diferencias es
el código, a uno de ellos se le agrega 1.000.000. Ahora tengo que mover
ciertos campos del registro con código alto al del número bajo, por lo
que hice el siguiente UPDATE.

UPDATE dbo.MCS_PRODUCTS SET
PRO.PRO_PROGRP_ID = A.PROGRP_ID,
PRO.PRO_LITER22GRAMS = A.PRO_LITERS2GRAMS,
PRO.PRO_STK2GRAMS = A.PRO_STK2GRAMS,
PRO.PRO_ALTERNATIVEUNIT = A.PRO_ALTERNATIVEUNIT,
PRO.PRO_ALTERNATIVE2GRAMS = A.PRO_ALTERNATIVE2GRAMS,
PRO.PRO_DEFAULTUNIT = A.PRO_DEFAULTUNIT,
PRO.PRO_FDS_ID = A.PRO_FDS_ID,
PRO.PRO_SUP_ID = A.PRO_SUP_ID,
PRO.PRO_STK_UNIT2GRAMS = A.PRO_STK_UNIT2GRAMS,
PRO.PRO_PURCHASE_UNIT2GRAMS = A.PRO_PURCHASE_UNIT2GRAMS,
PRO.PRO_SUPPLIERNUMBER = A.PRO_SUPPLIERNUMBER,
PRO.PRO_SUPPLIERDESCRIPTION = A.PRO_SUPPLIERDESCRIPTION
FROM MCS_PRODUCTS PRO
INNER JOIN MCS_PRODUCTS A
ON (PRO.PRO_CODE + 1000000 = A.PRO_CODE)
WHERE PRO.PRO_CODE = 14939

Sin embargo, al querer ejecutarlo, me da error por ser ambiguo el
nombre de la tabla, MCS_PRODUCTS.
Alguna idea de cómo puedo hacerlo?
Desde ya, muchas gracias.

Mauricio
Copenhague, Dinamarca
 

Leer las respuestas

#1 Carlos Sacristan
03/02/2009 - 16:07 | Informe spam
UPDATE dbo.MCS_PRODUCTS SET
PRO_PROGRP_ID = A.PROGRP_ID,
PRO_LITER22GRAMS = A.PRO_LITERS2GRAMS,
PRO_STK2GRAMS = A.PRO_STK2GRAMS,
PRO_ALTERNATIVEUNIT = A.PRO_ALTERNATIVEUNIT,
PRO_ALTERNATIVE2GRAMS = A.PRO_ALTERNATIVE2GRAMS,
PRO_DEFAULTUNIT = A.PRO_DEFAULTUNIT,
PRO_FDS_ID = A.PRO_FDS_ID,
PRO_SUP_ID = A.PRO_SUP_ID,
PRO_STK_UNIT2GRAMS = A.PRO_STK_UNIT2GRAMS,
PRO_PURCHASE_UNIT2GRAMS = A.PRO_PURCHASE_UNIT2GRAMS,
PRO_SUPPLIERNUMBER = A.PRO_SUPPLIERNUMBER,
PRO_SUPPLIERDESCRIPTION = A.PRO_SUPPLIERDESCRIPTION
FROM MCS_PRODUCTS PRO
INNER JOIN MCS_PRODUCTS A
ON (PRO.PRO_CODE + 1000000 = A.PRO_CODE)
WHERE PRO.PRO_CODE = 14939


Un saludo
-
www.navento.com
Servicios de Localización GPS


"Mauricio" wrote:

Hola a todos,
producto de una conversión de datos tengo una tabla de productos que
tiene 2 registros "prácticamente idénticos". Una de las diferencias es
el código, a uno de ellos se le agrega 1.000.000. Ahora tengo que mover
ciertos campos del registro con código alto al del número bajo, por lo
que hice el siguiente UPDATE.

UPDATE dbo.MCS_PRODUCTS SET
PRO.PRO_PROGRP_ID = A.PROGRP_ID,
PRO.PRO_LITER22GRAMS = A.PRO_LITERS2GRAMS,
PRO.PRO_STK2GRAMS = A.PRO_STK2GRAMS,
PRO.PRO_ALTERNATIVEUNIT = A.PRO_ALTERNATIVEUNIT,
PRO.PRO_ALTERNATIVE2GRAMS = A.PRO_ALTERNATIVE2GRAMS,
PRO.PRO_DEFAULTUNIT = A.PRO_DEFAULTUNIT,
PRO.PRO_FDS_ID = A.PRO_FDS_ID,
PRO.PRO_SUP_ID = A.PRO_SUP_ID,
PRO.PRO_STK_UNIT2GRAMS = A.PRO_STK_UNIT2GRAMS,
PRO.PRO_PURCHASE_UNIT2GRAMS = A.PRO_PURCHASE_UNIT2GRAMS,
PRO.PRO_SUPPLIERNUMBER = A.PRO_SUPPLIERNUMBER,
PRO.PRO_SUPPLIERDESCRIPTION = A.PRO_SUPPLIERDESCRIPTION
FROM MCS_PRODUCTS PRO
INNER JOIN MCS_PRODUCTS A
ON (PRO.PRO_CODE + 1000000 = A.PRO_CODE)
WHERE PRO.PRO_CODE = 14939

Sin embargo, al querer ejecutarlo, me da error por ser ambiguo el
nombre de la tabla, MCS_PRODUCTS.
Alguna idea de cómo puedo hacerlo?
Desde ya, muchas gracias.

Mauricio
Copenhague, Dinamarca



Preguntas similares