SQL - Diferencia entre updates

 
Vista:

Diferencia entre updates

Publicado por Cesare (2 intervenciones) el 30/06/2005 20:41:35
Hola que tal?
Les queria pasar esta query que me generó problemas.

Una, cambia cada vez que la corro, y la otra anda perfecto.

Va la primera:

UPDATE Tabla1 SET
campo1 = 1
FROM Tabla2
WHERE Tabla1.id = Tabla2.Id

El update de arriba, cada vez que lo corro, me da distinto, si cuento cuantos tengo con el campo1 = 1. Obviamente, lo inicializo en 0.

Con esta le encotre la solucion al tema.

UPDATE Tabla1 SET
campo1 = 1
WHERE Exists (SELECT id FROM Tabla2 WHERE tabla1.id = tala2.id)

Espero que me puedan orientar, debido a que tengo varias hechas de la primer forma, pero al no poder detectar el error, no se si esta bien o mal.

Desde ya y por adelantadisimo... Muchisimas Gracias

Cesar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Diferencia entre updates

Publicado por Isaías Islas (5072 intervenciones) el 30/06/2005 20:54:12
En esta instruccion:

UPDATE Tabla1 SET
campo1 = 1 -- Aqui esta el problema
FROM Tabla2
WHERE Tabla1.id = Tabla2.Id

Creo que el problema esta en que estas ASIGNANDO una CONSTANTE (1), a tu columna CAMPO1.

Creo que deberia ser algo como:

UPDATE Tabla1 SET
campo1 = Tabla2.columna
FROM Tabla2
WHERE Tabla1.id = Tabla2.Id

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Diferencia entre updates

Publicado por Cesare (2 intervenciones) el 30/06/2005 20:59:07
Muchísimas gracias, yo suponía que era eso, pero no estaba seguro.
Ahora pregunto. Si en un update similar, pero con varios campos actualizandoce, uno esta con una constante, pero los demas toman datos de campos de la tabla2, ¿Asi estaría bien, o tendría el mismo inconveniente?.

Muchisimas gracias nuevamente Isaías
Saludos
Cesar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Diferencia entre updates

Publicado por Isaías Islas (5072 intervenciones) el 30/06/2005 21:58:13
Bueno, las constantes, siemper irian como CONSTANTES

SET COL1 = TABLA2.COL2,
COL2 = 'Esto es una constante',
COL3 = TABLA2.COL3

Etc.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Diferencia entre updates

Publicado por ramon (2 intervenciones) el 02/07/2005 07:36:42
ya probaste
UPDATE Tabla1 SET
campo1 = 1
FROM Tabla1,Tabla2
WHERE Tabla1.id = Tabla2.Id
?

(agregar tabla1 al from)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar