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

Actualizar registros en null con datos de la misma tabla

Estas en el tema de Actualizar registros en null con datos de la misma tabla en el foro de Bases de Datos General en Foros del Web. Hola a tod@s.... espero y esten bien tengo este problema, y es que tal vez sea de lo mas sencillo, pero yo ya me hice ...
  #1 (permalink)  
Antiguo 01/11/2007, 11:13
 
Fecha de Ingreso: agosto-2004
Mensajes: 296
Antigüedad: 19 años, 8 meses
Puntos: 0
Actualizar registros en null con datos de la misma tabla

Hola a tod@s.... espero y esten bien

tengo este problema, y es que tal vez sea de lo mas sencillo, pero yo ya me hice bolas..y no se como resolverlo.

tengo una tabla, la cual, digamos que esta asi:


Id Nombre Cantidad
1 A 5
2 A 5
3 A Null
4 B 9
5 B Null
6 B 9
7 C 7
8 C 7
9 D Null
10 D Nul
11 D 8

Como podria actualizar los registros, para que los campos que tienen null, tengan la cantidad que corresponde, es decir, que todos los registros de A, tengan en cantidad 5,.. y asi para los demas.....
como le puedo hacer????

y es que ya no puedo modificar el esquema de las tablas.

Como puedo hacerle? con que query podria, ? porque ya intente con un Update, pero no me queda....
  #2 (permalink)  
Antiguo 01/11/2007, 17:50
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 17 años, 11 meses
Puntos: 50
Re: Actualizar registros en null con datos de la misma tabla

Código:
update NOMBRETABLA set cantidad='5' where Nombre='A'
update NOMBRETABLA set cantidad='9' where Nombre='B'
update NOMBRETABLA set cantidad='7' where Nombre='C'

con updatesde ese estilo debe poder hacer lo que quiere hacer

Avisa si el funciono

suerte
  #3 (permalink)  
Antiguo 03/11/2007, 15:49
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Re: Actualizar registros en null con datos de la misma tabla

Asumiendo que SOLO tienes el número y NULL (que A SOLO tiene 5's y NULLs)... En TSQL es más o menos así:

UPDATE t1.cantidad = t2.cantidad
FROM tabla t1
INNER JOIN (
SELECT id, Max(cantidad)
FROM tabla
WHERE cantidad IS NOT NULL
GROUP BY id) t2
ON t1.id = t2.id
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
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 07:20.