Consultas de actualización

15/04/2004 - 20:55 por Jorge A S | Informe spam
Hola a todos, estoy tratando de hacer una consulta de
actualización de datos que actualice los campos de una
tabla de acuerdo a los que existen en otra a travez de una
relación "INNER JOIN" y me doy cuenta que no funciona, la
única manera que me permite es actualización de un valor
fijo a todos los campos, esta es la consulta que armé:

UPDATE
tabla1 INNER JOIN tabla2
ON tabla1.campo1 = tabla2.campo1
SET tabla1.campo2 = tabla2.campo2

Como esto no funciona, alguien sabe como hay que armar la
funcione para que se pouede hacer esta acción ?
Desde ya les agardezco, espero que se haya entendido.

Preguntas similare

Leer las respuestas

#6 ulises
15/04/2004 - 22:53 | Informe spam
Tengo entendido que la clausula FROM no forma parte de la
especificación ANSI, de ese modo la única ANSI sería la
tercera.

Saludos,
Ulises

...
La primera opcion es a mi parecer la mas legible, con


frecuencia la mas
rapidoa, y la mejor concuerda con los SELECTS; la


tercera es la unica
ANSI. (Podria ser que la 2 tambien, pero estoy casi


seguro que no). La 1
definitivamente no es ANSI.
Saludos,


Javier Loria
Costa Rica


...
Respuesta Responder a este mensaje
#7 Jorge A S
15/04/2004 - 23:02 | Informe spam
Ya lo usé y anduvo barbaro, muchas gracias !!!


por Dios que carajo escribi :( hoy no escribo masssss


jejej




UPDATE tabla1
set tabla1.campo2=tabla2.campo2
from
tabla1 INNER JOIN tabla2
ON tabla1.campo1 = tabla2.campo1

=>

Salu2
-


-
Maxi

Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET

MSN:
-


-
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Maximiliano D. A."


escribió en el
mensaje news:
hola, es que lo deberias hacer asi:

UPDATE set tabla1.campo2=tabla2.campo2
from
tabla1 INNER JOIN tabla2
ON tabla1.campo1 = tabla2.campo1
SET tabla1.campo2 = tabla2.campo2

0

Suerte




Salu2

Maxi

Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET

MSN:

Nunca consideres el estudio como una obligación sino




como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Jorge A S"




escribió en el mensaje
news:1d19f01c4231b$29338d30$
Hola a todos, estoy tratando de hacer una consulta de
actualización de datos que actualice los campos de una
tabla de acuerdo a los que existen en otra a travez de




una
relación "INNER JOIN" y me doy cuenta que no funciona,




la
única manera que me permite es actualización de un valor
fijo a todos los campos, esta es la consulta que armé:

UPDATE
tabla1 INNER JOIN tabla2
ON tabla1.campo1 = tabla2.campo1
SET tabla1.campo2 = tabla2.campo2

Como esto no funciona, alguien sabe como hay que armar




la
funcione para que se pouede hacer esta acción ?
Desde ya les agardezco, espero que se haya entendido.




Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system




(http://www.grisoft.com).
Version: 6.0.655 / Virus Database: 420 - Release Date:




08/04/2004







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.655 / Virus Database: 420 - Release Date:


08/04/2004


.

Respuesta Responder a este mensaje
#8 Jose Mariano Alvarez \(MUG\)
15/04/2004 - 23:10 | Informe spam
En ocasiones he tenido problemas con este tipo de instruciones y aun no se
por que. El plan era bueno, las estadisticas estaban actualizadas, los
indices estaban bien pero para una tabla funcionada y para otra no. Es mas a
igual esquema e igual cantidad de registros una funcionaba bien y la otra
no.

Jose Mariano Alvarez
Comunidad de base de datos
Grupo de Usuarios Microsoft
www.mug.org.ar



"ulises" wrote in message
news:18a9701c4232b$b24d41f0$
Tengo entendido que la clausula FROM no forma parte de la
especificación ANSI, de ese modo la única ANSI sería la
tercera.

Saludos,
Ulises

...
La primera opcion es a mi parecer la mas legible, con


frecuencia la mas
rapidoa, y la mejor concuerda con los SELECTS; la


tercera es la unica
ANSI. (Podria ser que la 2 tambien, pero estoy casi


seguro que no). La 1
definitivamente no es ANSI.
Saludos,


Javier Loria
Costa Rica


...
Respuesta Responder a este mensaje
#9 Eladio Rincón
15/04/2004 - 23:19 | Informe spam
curioso,

revisa los planes de ejecución y verás que 1 y 2 arrojan el mismo; 3 hace nested loop frente a 1,2 que hace merge ...

Saludos,

Eladio

Jose Mariano Alvarez (MUG) wrote:
En ocasiones he tenido problemas con este tipo de instruciones y aun
no se por que. El plan era bueno, las estadisticas estaban
actualizadas, los indices estaban bien pero para una tabla funcionada
y para otra no. Es mas a igual esquema e igual cantidad de registros
una funcionaba bien y la otra no.


...
La primera opcion es a mi parecer la mas legible, con


frecuencia la mas
rapidoa, y la mejor concuerda con los SELECTS; la


tercera es la unica
ANSI. (Podria ser que la 2 tambien, pero estoy casi


seguro que no). La 1
definitivamente no es ANSI.
Saludos,


Javier Loria
Costa Rica


...
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida