SQL - Actualizar una columna con el numero de fila

 
Vista:

Actualizar una columna con el numero de fila

Publicado por Hernan* (104 intervenciones) el 04/03/2004 14:21:36
Como puedo hacer para actualizar un campo numerico al numero de la fila? Por ejemplo:

Campo
1
2
2
5
41

actualizarlo a:
Campo
1
2
3
4
5
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:Actualizar una columna con el numero de fila

Publicado por Isaías Islas (5072 intervenciones) el 05/03/2004 00:04:52
Hola Hernan

En la Tabla, "Campo" es la unica columna que tienes?
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:Actualizar una columna con el numero de fila

Publicado por Hernan (104 intervenciones) el 05/03/2004 15:05:39
No, tengo varias.
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:Actualizar una columna con el numero de fila

Publicado por Isaías Islas (5072 intervenciones) el 05/03/2004 16:47:42
Entonces, para poder actualizar tu ID, deberas apoyarte en alguna otra columna.

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:Actualizar una columna con el numero de fila

Publicado por Hernan* (104 intervenciones) el 05/03/2004 17:35:25
¿Como lo hago?
Update ColId=...???....
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:Actualizar una columna con el numero de fila

Publicado por Isaías Islas (5072 intervenciones) el 05/03/2004 18:14:05
Bueno, no se cuantos registros debas modificar, supongo que hubo errores al momento de insertar la informacion y debes corregir el ID, pongo un ejemplo

Col1 Col2
1 Mario
2 Luisa
2 Maria
4 Pedro
5 Alberto

1
UPDATE MyTabla SET Col1 = 3 WHERE Col2 = 'Maria' and Col1 = 2

Saludos
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:Actualizar una columna con el numero de fila

Publicado por Hernan* (104 intervenciones) el 05/03/2004 19:57:21
No, quiero ponerle el numero de fila para todas las filas que haya.
¿Se puede?
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:Actualizar una columna con el numero de fila

Publicado por Isaías Islas (5072 intervenciones) el 05/03/2004 23:40:17
Nop

Aunque podrias "sacar" de la tabla, todos aquellos numeros que se repiten para colocarlos en otra tabla, dejar los registros UNICOS y si la numeracion es hacia arriba, entonces si podrias actualizar TODOS los registros.
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:Actualizar una columna con el numero de fila

Publicado por Oscar David Zamora (1 intervención) el 23/10/2013 19:38:23
La solución se efectúa a partir de una subconsulta usando inner join, donde primero extraemos el numero que debería ir en la subconsulta y luego efectuamos el update que tome este valor de allí


-Solucion
1
2
3
4
5
6
7
8
9
10
11
12
UPDATE TBL --apodo de la tabla que queremos modificar
SET TBL.registro=AU.row --registro es el campo que queremos clocar autonumerico consecutivo
from tabla TBL-- tabla que queremos modificar
INNER JOIN
(
     select
     ROW_NUMBER () OVER (ORDER BY Registro) AS Row, ---El numero de la fila de la consulta
     registro,--el campo quequeremos modificar como existe actualmente (opcional incluirlo)
     placa  --un campo para cruzar los datos al hacer el inner join
     from tabla
) AU ON AU.placa=TBL.placa
WHERE AU.row<>TBL.registro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

RE:Actualizar una columna con el numero de fila

Publicado por Jorge Corredor (1 intervención) el 04/04/2021 16:17:13
Hola a Todos: Otra solucion posible tambien puede ser esta:

Basado en la solucion anterior:

1
2
3
4
update Tabla1
set Tabla1.Id = Mx.Aut
FROM (select Campo1,Campo2, Campo3,row_number() OVER(ORDER BY Campx, Campoy ASC) as Aut from Tabla1) as  Mx --hay que definir la forma como se ordenaran los datos y se asignara el numero de fila
where Tabla1.Campo1=Mx.campo1 and Tabla1.campo2=Mx.campo2 and Tabla1.campo3=Mx.campo3  --Esto es una combinacion de campos para garantizar registros unicos sobre los cuales se aplicara el nuevo valor.

Saludos desde colombia
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