UPDATE

29/09/2004 - 01:37 por Christian Velarde | Informe spam
Saludo a los del foro.
Como Podria actualizar (con update) una tabla donde el
campo que quiero utilizar como condicion (where) se
encuentra en otra tabla.
Gracias por su apoyo.

Preguntas similare

Leer las respuestas

#1 Gustavo Larriera [MVP]
29/09/2004 - 01:57 | Informe spam
No entiendo demasiado lo que deseas hacer, tal vez si brindas las tablas y
explicas con un ejemplo...

El siguinete es un ejemplo de UPDATE que referencian a otras tablas,
extraidos de los Books Online (BOL) de tu instalación SQL:

CREATE TABLE s (ColA INT, ColB DECIMAL(10,3))
GO
CREATE TABLE t (ColA INT PRIMARY KEY, ColB DECIMAL(10,3))
GO
INSERT INTO s VALUES(1, 10.0)
INSERT INTO s VALUES(1, 20.0)
INSERT INTO t VALUES(1, 0.0)
GO
UPDATE t
SET t.ColB = t.ColB + s.ColB
FROM t INNER JOIN s ON (t.ColA = s.ColA)
GO

Gustavo Larriera, MVP
Uruguay LatAm
http://sqljunkies.com/weblog/gux/
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.
"Christian Velarde" wrote in message
news:3eed01c4a5b4$127d3bb0$
Saludo a los del foro.
Como Podria actualizar (con update) una tabla donde el
campo que quiero utilizar como condicion (where) se
encuentra en otra tabla.
Gracias por su apoyo.

Respuesta Responder a este mensaje
#2 Christian Velarde
29/09/2004 - 02:30 | Informe spam
Hola,
Utilizo la siguiente instruccion desde el analizador de
consultas:

UPDATE tabla1
SET tabla1.idAlimento = '00008'
INNER JOIN tabla2 ON tabla1 .IdDivision = tabla2.idDivision
WHERE (tabla2 .idPGranja = '00003' or tabla2.idPGranja
= '00004') AND tabla1.idAlimento = '00002'

y me sale el siguiente mensaje:
Incorrect syntax near the keyword 'INNER'

gracias por su atencion.
Respuesta Responder a este mensaje
#3 Javier Loria
29/09/2004 - 05:26 | Informe spam
Hola:
Debes escribir un FROM con la Tabla1:
=UPDATE tabla1
SET tabla1.idAlimento = '00008'
FROM tabla1 **** AGREGADO ***
INNER JOIN tabla2 ON tabla1 .IdDivision = tabla2.idDivision
WHERE (tabla2 .idPGranja = '00003' or tabla2.idPGranja
= '00004') AND tabla1.idAlimento = '00002'
==
Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda

"Christian Velarde" wrote in message
news:111901c4a5bb$7d455660$
Hola,
Utilizo la siguiente instruccion desde el analizador de
consultas:

UPDATE tabla1
SET tabla1.idAlimento = '00008'
INNER JOIN tabla2 ON tabla1 .IdDivision = tabla2.idDivision
WHERE (tabla2 .idPGranja = '00003' or tabla2.idPGranja
= '00004') AND tabla1.idAlimento = '00002'

y me sale el siguiente mensaje:
Incorrect syntax near the keyword 'INNER'

gracias por su atencion.
Respuesta Responder a este mensaje
#4 christian Velarde
29/09/2004 - 16:45 | Informe spam
Gracias al fin me funciono fue tal como me sugirieron:

UPDATE tabla1
SET tabla1.idAlimento = '00008'
FROM tabla1 **** AGREGADO ***
INNER JOIN tabla2 ON tabla1 .IdDivision = tabla2.idDivision
WHERE (tabla2 .idPGranja = '00003' or tabla2.idPGranja
= '00004') AND tabla1.idAlimento = '00002'

Tal vez les sirva a otros colegas.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida