Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Problemas con update

Estas en el tema de Problemas con update en el foro de Bases de Datos General en Foros del Web. Hola Disculpen, alguien puede orientarme como actualizar una tabla con estas condiciones: La tabla tiene tiene 1000 regsitro y 2 campos, con datos asi: CLIENTE ...
  #1 (permalink)  
Antiguo 08/06/2012, 14:29
 
Fecha de Ingreso: marzo-2012
Mensajes: 17
Antigüedad: 12 años, 1 mes
Puntos: 0
Problemas con update

Hola

Disculpen, alguien puede orientarme como actualizar una tabla con estas condiciones:

La tabla tiene tiene 1000 regsitro y 2 campos, con datos asi:

CLIENTE USUARIO
0001 user1
0001 user2
0001 user3
0002 user1
0002 user2
0002 user3
0002 user1
0003 user1
0003 user2
.
.
.
9999 user1
9999 user2
9999 user3

Eso es: un cliente puede tener muchos usuarios.
Bien entonces quiero cambiar todos los valores: user2 por user1; no puedo ejecutar un simple update porque LA TABLA NO PERMITE USUARIOS DUPLICADOS X CLIENTE, es decir, si lo hago con update queda

CLIENTE USUARIO
0001 user1
0001 user1
0001 user3
0002 user1
0002 user1
0002 user3
0002 user1
0003 user1
0003 user2
.
.
.
9999 user1
9999 user1
9999 user3

En los casos que se den que el cliente tiene tanto a USER1 y a USER2, va quedar con duplicado USER1, y eso no puede ser.

Como puedo actualizar user2:

por cliente que tenga a user1 y user2, solo dejar user1.
por cliente que tenga a user2, cambiar a user1


Que usarian, having, if, etc... si me dan ideas de como realizarlo se los agradece muchisimo, espero alguien puedo ayudarme

Saludos
  #2 (permalink)  
Antiguo 08/06/2012, 17:58
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Problemas con update

Depende... ¿Qué DBMS estás usando?
La solución puede variar de acuerdo a lo que uses. Con Oracle se pueden hacer cosas que no se logran con SQL Server o MySQL, por ejemplo.
En cualquier caso, no puedes simplemente modificar el valor de ese campo, sino eliminar aquellos valores que ya existan como user1, y sólo hacer un UPDATE del resto.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 11/06/2012, 08:39
 
Fecha de Ingreso: marzo-2012
Mensajes: 17
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Problemas con update

Hola gnzsoloyo, muchas gracias por tu aporte.

el DBMS es SQL SERVER 2005.

La opcion que comentas, me parece buena opcion, pero creeme, soy nuevo en esto de SQL :P,
¿primero borrar la user1? ¿que haria en el update?.
Mi intentencion es AGRUPAR por cliente, luego de los valores x cliente ELIMINAR user2 SI existe user1, o si solo tiene user2 CAMBIAR a user1.

Intentare razonar con lo que me expones y espero que me puedes tambien orientar

Gracias

Etiquetas: tabla, update, transacciones, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:25.