Visual Basic.NET - ELIMINAR REGISTROS DUPLICADOS EN SQL SERVER

 
Vista:
sin imagen de perfil
Val: 30
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

ELIMINAR REGISTROS DUPLICADOS EN SQL SERVER

Publicado por JOSUE (20 intervenciones) el 11/11/2020 16:01:17
BUEN DIA

ME PUEDE AYUDAR CON EL COMANDO O LA SINTAXIS PARA PODER ELIMINAR LOS REGISTROS DUPLICADOS DEJANDO SOLO 1 EN SQL SERVER.

TENGO TABLA "UNICO" Y LOS CAMPOS SON:

NOMBRE; P_APELLIDO; S_APELLIDO; IDENTIDAD; EDAD

TIENE OTROS CAMPOS PERO CON ESOS DOY LA IDEA, LO QUE NECESITO ES ELIMINAR LOS DUPLICADOS DEJANDO UN SOLO REGISTRO UNICO.

SELECT NOMBRE, P_APELLIDO, S_APELLIDO, IDENTIDAD FROM UNICO WHERE
IDENTIDAD='1111-1111-11111'
GROUP BY NOMBRE, P_APELLIDO, S_APELLIDO, IDENTIDAD HAVING COUNT(*)>1

ESTE ES PARA MOSTRAR LOS REPETIDOS PERO NO LOGRO ELIMINAR LOS DUPLICADOS.


GRACIA DE ANTEMANO POR LA VALIOSA AYUDA.
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
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

ELIMINAR REGISTROS DUPLICADOS EN SQL SERVER

Publicado por Phil Rob (1554 intervenciones) el 11/11/2020 18:37:19
Hola,

Debes saber que están los datos que hacen un duplico. Si utilisas un PrimaryKey numérico, no puede existir duplica.

...
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
Imágen de perfil de melqui
Val: 643
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

ELIMINAR REGISTROS DUPLICADOS EN SQL SERVER

Publicado por melqui (242 intervenciones) el 12/11/2020 01:26:42
vas a necesitar hacer una TEMPORARIA

ejemplo

1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT NOMBRE, P_APELLIDO, S_APELLIDO, IDENTIDAD
 
#TEMP_UNICO
 FROM UNICO WHERE
IDENTIDAD='1111-1111-11111'
GROUP BY NOMBRE, P_APELLIDO, S_APELLIDO, IDENTIDAD HAVING COUNT(*)>1
 
 
DELETE FROM #TEMP_UNICO INNER JOIN  UNICO  ON  #TEMP_UNICO.IDENTIDAD = UNICO .IDENTIDAD
 
 
 
DROP TABLE #TEMP_UNICO

todos los registros que estan mostrados en la TEMPORARIA va hacer comparado con el inner join, asi solamente aquellos registros que estan el el

1
GROUP BY NOMBRE, P_APELLIDO, S_APELLIDO, IDENTIDAD HAVING COUNT(*)>1

será excluido, mas para garantir tente solamente con 1 para no perder registro

1
2
DELETE FROM #TEMP_UNICO INNER JOIN  UNICO  ON  #TEMP_UNICO.IDENTIDAD = UNICO .IDENTIDAD
GROUP BY NOMBRE, P_APELLIDO, S_APELLIDO, IDENTIDAD HAVING COUNT(*)>1
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