Update

14/07/2005 - 18:39 por Julio Cesar | Informe spam
Buen dia
Tengo que hacer una actualizacion y este select es el resultado del rango
que no debo actualizar
SELECT *
FROM TABLA
WHERE (FECHA >= '01/06/2005') AND (DCTO BETWEEN '52243' AND '52480') AND
(FECHA <= '30/06/05')
UNION
SELECT *
FROM TABLA
WHERE (FECHA >= '01/06/2005') AND (DCTO BETWEEN '8131' AND '8140') AND
(FECHA <= '30/06/05')
El campo a actualizar es integrado = 0
Teniendo en cuenta que el select anterior es de la misma tabla. Gracias por
la colaboracion que me puedan brindar

Preguntas similare

Leer las respuestas

#6 qwalgrande
14/07/2005 - 23:04 | Informe spam
Hola.

Si no ves claro realizarlo en un solo paso, te sugiero el siguiente método:
1.- Crea una tabla temporal en la que metas los campos que formen la clave
primaria.
2.- Inserta en esta tabla los registros que no quieres actualizar.
3.- Actualiza el resto de los registros.

A saber:

Create table #tmpTabla (Campo_PK_Tabla int)

insert #tmpTabla
SELECT Campo_PK_Tabla
FROM TABLA
WHERE (FECHA >= '01/06/2005') AND (DCTO BETWEEN '52243' AND '52480') AND
(FECHA <= '30/06/05')
UNION
SELECT Campo_PKTabla
FROM TABLA
WHERE (FECHA >= '01/06/2005') AND (DCTO BETWEEN '8131' AND '8140') AND
(FECHA <= '30/06/05')

update T set T.integrado = 0
from Tabla T left join #tmpTabla tmp on T.Campo_PK_Tabla =
tmp.Campo_PK_Tabla
where tmp.Campo_PK_Tabla is null

qwalgrande

"De lo que ves créete la mitad, de lo que no ves no te creas nada"
V. del V.


"Julio Cesar" escribió en el mensaje
news:
Si Eleazar pero los rangos de DCTO son del '52243' al '52480' y del '8131'
al
'8140' y del 01/06/2005 al 30/06/2005. Gracia por tu colaboracion

"Eleazar" escribió:

Hola lo que entiendo es que quieres actualizar todos los que sean
diferentes
a los documentos
prueba asi WHERE (FECHA >= '01/06/2005') AND
NOT (DCTO BETWEEN '52243' AND '52480')
"Julio Cesar" escribió en el
mensaje
news:
> Mira el resultado del select union que tengo, son los datos que no debo
> modificar. EL update seria
> UPDATE TABLA
> set integrado = '0'
> WHERE (FECHA >= '01/06/2005') and (FECHA <= '30/06/05') AND (DCTO ?)
este
> es el pedazo que no se hacer, ya se cuales son los que no debo de
actualizar
> pero los otros son los que no tengo claro como hacerlo.
> Espero que con esta explicacion te despeje las dudas y me puedas seguir
> colaborando. Gracias por tu interes en ayudar
>
> "Maxi" escribió:
>
> > Hola, podrias ampliar un poco mas? o sea, vos queres hacer un update
> > a
que?
> > y con que criterio?
> >
> >
> > Salu2
> > Maxi
> >
> >
> > "Julio Cesar" escribió en el
mensaje
> > news:
> > > Buen dia
> > > Tengo que hacer una actualizacion y este select es el resultado del
rango
> > > que no debo actualizar
> > > SELECT *
> > > FROM TABLA
> > > WHERE (FECHA >= '01/06/2005') AND (DCTO BETWEEN '52243' AND
'52480')
> > > AND
> > > (FECHA <= '30/06/05')
> > > UNION
> > > SELECT *
> > > FROM TABLA
> > > WHERE (FECHA >= '01/06/2005') AND (DCTO BETWEEN '8131' AND
> > > '8140')
AND
> > > (FECHA <= '30/06/05')
> > > El campo a actualizar es integrado = 0
> > > Teniendo en cuenta que el select anterior es de la misma tabla.
Gracias
> > > por
> > > la colaboracion que me puedan brindar
> > >
> >
> >
> >



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