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

Eliminar duplicados SQL

Estas en el tema de Eliminar duplicados SQL en el foro de SQL Server en Foros del Web. Buenas tardes, tengo la siguiente consulta en SQL Server 2008: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original SELECT R .* FROM ROBINSONES R INNER JOIN DUPLICADOS ...
  #1 (permalink)  
Antiguo 02/07/2012, 08:43
 
Fecha de Ingreso: julio-2010
Mensajes: 93
Antigüedad: 13 años, 9 meses
Puntos: 0
Eliminar duplicados SQL

Buenas tardes,

tengo la siguiente consulta en SQL Server 2008:

Código SQL:
Ver original
  1. SELECT R.*
  2. FROM ROBINSONES R
  3. INNER JOIN DUPLICADOS D
  4. ON R.Telefono = D.TELEFONO
  5. ORDER BY R.Telefono

Que me devuelve esto:

Uid Telefono Fecha Orange Jazztel Yacom Omic Lista_oficial Servinovo Lotoplan
1123777 600000000 2010-06-07 00:00:00.000 NULL SI NULL NULL NULL NULL NULL

1633764 600000000 2012-05-08 00:00:00.000 NULL NULL NULL NULL SI NULL NULL

1123789 600242697 2010-08-02 00:00:00.000 NULL SI NULL NULL NULL NULL NULL

1625132 600242697 2012-05-08 00:00:00.000 NULL NULL NULL NULL SI NULL NULL

1123816 600893535 2010-05-31 00:00:00.000 NULL SI NULL NULL NULL NULL NULL

1623043 600893535 2012-05-08 00:00:00.000 NULL NULL NULL NULL SI NULL NULL

Necesito eliminar los duplicados pero actualizando los campos.
  #2 (permalink)  
Antiguo 02/07/2012, 09:08
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Eliminar duplicados SQL

Prueba usando la funcion row_number o un having count para sacar los duplicados y acomodar la consulta a tus necesidades :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 02/07/2012, 09:20
 
Fecha de Ingreso: julio-2010
Mensajes: 93
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Eliminar duplicados SQL

Lo que necesito es guardar una fila por cada teléfono, pero incluyendo los datos de todas las columnas en la que hay datos, es decir, si tengo el teléfono repetido 2 veces y en cada fila hay una columna diferente con datos, necesito guardar esos datos en un solo registro.

Un saludo.
  #4 (permalink)  
Antiguo 03/07/2012, 02:50
 
Fecha de Ingreso: julio-2010
Mensajes: 93
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Eliminar duplicados SQL

El problema que tengo es que solo se duplica el campo "teléfono" y lo que necesito es que si hay dos telefonos:

Telefono Orange Yacom Jazztel
654789123 SI NULL NULL
654789123 NULL SI NULL

Me quede de la siguiente forma:

Telefono Orange Yacom Jazztel
654789123 SI SI NULL
  #5 (permalink)  
Antiguo 03/07/2012, 12:42
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Eliminar duplicados SQL

Utiliza DISTINCT
__________________
MCTS Isaias Islas
  #6 (permalink)  
Antiguo 04/07/2012, 02:13
 
Fecha de Ingreso: julio-2010
Mensajes: 93
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Eliminar duplicados SQL

No me sirve, y que como veis, solo se duplica el teléfono, pero el resto de columna no son iguales, por lo que necesito tener solo un teléfono, pero con la información de todas las columnas.

Telefono Orange Yacom Jazztel
654789123 SI NULL NULL
654789123 NULL SI NULL

Me quede de la siguiente forma:

Telefono Orange Yacom Jazztel
654789123 SI SI NULL

Si utilizo el distinct solo con el teléfono, me trae solo uno, pero pierdo la información del resto de columnas, y si lo utilizo con todas las columnas, sigo teniendo dupllicado el teléfono ya que la información de las columnas no es la misma.

Última edición por eloy_ameneiros; 04/07/2012 a las 02:15 Razón: Faltaba información
  #7 (permalink)  
Antiguo 04/07/2012, 09:24
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Eliminar duplicados SQL

¿Como decides que registro tomar?, ¿El primero?
__________________
MCTS Isaias Islas
  #8 (permalink)  
Antiguo 05/07/2012, 02:50
 
Fecha de Ingreso: julio-2010
Mensajes: 93
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Eliminar duplicados SQL

Me serviría cogiendo el primero, y añadiendo le informacion de las columnas de las filas donde esté duplicado.
  #9 (permalink)  
Antiguo 05/07/2012, 11:00
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Eliminar duplicados SQL

"añadiendole informacion de las columnas de las filas donde esté duplicado"

Explicame esta parte, no se comprende..........
__________________
MCTS Isaias Islas
  #10 (permalink)  
Antiguo 09/07/2012, 06:21
 
Fecha de Ingreso: julio-2010
Mensajes: 93
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Eliminar duplicados SQL

Yo tengo lo siguiente:

Telefono Orange Yacom Jazztel
654789123 SI NULL NULL
654789123 NULL SI NULL

Quiero que me quede de la siguiente forma:

Telefono Orange Yacom Jazztel
654789123 SI SI NULL

Como se puede ver, el telefono está duplicado, pero la info del resto de columnas es diferente. Lo que necesito es que solo haya un teléfono, pero uniendo la info de las columnas.

Etiquetas: duplicados, select, server, sql, 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 15:32.