Navegador de Archivos
Calendario del Blog
General
Eliminando registros duplicados
Para no perder la costumbre y aprovechando el bendito insomnio, ahora posteare como emplear dos interesantes funcionalidades que provee SQL Server para borrar registro, primero las Common Table Expression que están disponibles desde la versión 2005 y la combinación de over/partition.
Supongamos que tenemos una tabla con registros duplicados pero sin identificador único. Para esto hagamos una tabla sencilla que represente el escenario:
CREATE TABLE Origen
(
Nombre VARCHAR(15),
Direccion VARCHAR(200)
)
GO
Luego insertamos los registros duplicados:
INSERT INTO Origen
VALUES
('Pedro Chavez' ,'Av. Juan Escutia #20')
,('Pedro Chavez' ,'Av. Juan Escutia #20')
,('Luis Macias' ,'Calle San Francisco #44')
,('Luis Macias' ,'Calle San Francisco #44')
,('Luis Macias' ,'Calle San Francisco #44')
,('Alejandra Gómez' ,'Calle Becerra #14')
,('Luis Macias' ,'Calle San Francisco #44')
,('Luis Macias' ,'Calle San Francisco #44')
GO
Ahora podemos ver los registros repetidos con su respectivo identificador haciendo uso de la función ROW_NUMBER()
WITH Repetidos (Id, Nombre, Direccion)
AS (
SELECT
ROW_NUMBER() OVER (PARTITION BY Nombre, Direccion ORDER BY Nombre) AS Id,
Nombre, Direccion
FROM Origen
)
SELECT * FROM Repetidos
GO
Por último podemos emplear esto para hacer el respectivo delete.
WITH Repetidos (Id, Nombre, Direccion)
AS (
SELECT
ROW_NUMBER() OVER (PARTITION BY Nombre, Direccion ORDER BY Nombre) AS Id,
Nombre, Direccion
FROM Origen
)
DELETE FROM Repetidos WHERE Id > 1
GO
Cualquier baba de perro, que no!
Para saber más
Trackback URI: http://es.iver.com.mx/index.php/trackback/177
Estadísticas de visitantes








Comentarios Recientes
- Celulares con Wifi en Como escoger el amor de tu vida.
- master en La diferencia entre un amigo y un novio
- Iván Jaimes en Internet Explorer 8 y la vista compatibilidad
- mauro en Internet Explorer 8 y la vista compatibilidad
- Iván Jaimes en ¿Qué hacer para que te valoren más?
- marcela en ¿Qué hacer para que te valoren más?
- Iván Jaimes en
- karyot en Haces ruido o te gusta volar?
- Iver en Haces ruido o te gusta volar?
- leo_on en Haces ruido o te gusta volar?
- Iván Jaimes en Los detalles hacen la diferencia
- linuxman en Los detalles hacen la diferencia
- Marcelo Araújo en Internet Explorer 8 y la vista compatibilidad
- Iván Jaimes en Código con aroma de mujer
- karyot en Código con aroma de mujer
- Profesor Mamelowsky en Código con aroma de mujer
- karyot en Lo sabroso de la vida
- Iván Jaimes en
- Iván Jaimes en Internet Explorer 8 y la vista compatibilidad
- cordoba en Internet Explorer 8 y la vista compatibilidad

Dejar un comentario