eliminar duplicados

01/12/2005 - 01:22 por Fernando Ugarte | Informe spam
hola
tengo una tabla con los siguientes campos

ID
nombre
domicilio

el problema es que tengo registros como los sig

ID nombre domicilio
1 pepe xxxxx
2 juan carlos perez yyyyyy
2 juan c. perez yyy333
3 miguel zzzzz
4 carlos avila kkkkkk
4 avila carlos kkdddd

el problema es que quiero eliminar los duplicados, y seleccionar solo uno de
los duplicados.
El distinct no funcionaria, dado que los nombre son distintos

Alguna idea?

gracias

Preguntas similare

Leer las respuestas

#1 Isaias
01/12/2005 - 01:56 | Informe spam
Consulta esta liga

http://www.databasejournal.com/feat...hp/1438651
Saludos
IIslas


"Fernando Ugarte" escribió:

hola
tengo una tabla con los siguientes campos

ID
nombre
domicilio

el problema es que tengo registros como los sig

ID nombre domicilio
1 pepe xxxxx
2 juan carlos perez yyyyyy
2 juan c. perez yyy333
3 miguel zzzzz
4 carlos avila kkkkkk
4 avila carlos kkdddd

el problema es que quiero eliminar los duplicados, y seleccionar solo uno de
los duplicados.
El distinct no funcionaria, dado que los nombre son distintos

Alguna idea?

gracias



Respuesta Responder a este mensaje
#2 Fernando Ugarte
01/12/2005 - 12:36 | Informe spam
Gracias,

Creo que no me sirve ninguno de los ejemplos, la diferencia es que tengo
registros con la misma clave primaria, y con nombre parecidos pero no
iguales.

otra idea?


"Isaias" escribió en el mensaje
news:
Consulta esta liga

http://www.databasejournal.com/feat...hp/1438651
Saludos
IIslas


"Fernando Ugarte" escribió:

> hola
> tengo una tabla con los siguientes campos
>
> ID
> nombre
> domicilio
>
> el problema es que tengo registros como los sig
>
> ID nombre domicilio
> 1 pepe xxxxx
> 2 juan carlos perez yyyyyy
> 2 juan c. perez yyy333
> 3 miguel zzzzz
> 4 carlos avila kkkkkk
> 4 avila carlos kkdddd
>
> el problema es que quiero eliminar los duplicados, y seleccionar solo


uno de
> los duplicados.
> El distinct no funcionaria, dado que los nombre son distintos
>
> Alguna idea?
>
> gracias
>
>
>
Respuesta Responder a este mensaje
#3 Carlos Sacristán
01/12/2005 - 12:42 | Informe spam
Si fueras capaz de refinar el significado de "parecidos" igual se podría
conseguir algo, pero como comprenderás, si uno escribe el nombre completo,
el otro sólo el primero, el otro los dos pero el segundo sólo la
abreviatura, el otro los apellidos y luego el nombre... Son tantas
combinaciones que la única opción que te queda es revisártelo a mano


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Fernando Ugarte" <Nando> escribió en el mensaje
news:
Gracias,

Creo que no me sirve ninguno de los ejemplos, la diferencia es que tengo
registros con la misma clave primaria, y con nombre parecidos pero no
iguales.

otra idea?


"Isaias" escribió en el mensaje
news:
> Consulta esta liga
>
> http://www.databasejournal.com/feat...hp/1438651
> Saludos
> IIslas
>
>
> "Fernando Ugarte" escribió:
>
> > hola
> > tengo una tabla con los siguientes campos
> >
> > ID
> > nombre
> > domicilio
> >
> > el problema es que tengo registros como los sig
> >
> > ID nombre domicilio
> > 1 pepe xxxxx
> > 2 juan carlos perez yyyyyy
> > 2 juan c. perez yyy333
> > 3 miguel zzzzz
> > 4 carlos avila kkkkkk
> > 4 avila carlos kkdddd
> >
> > el problema es que quiero eliminar los duplicados, y seleccionar solo
uno de
> > los duplicados.
> > El distinct no funcionaria, dado que los nombre son distintos
> >
> > Alguna idea?
> >
> > gracias
> >
> >
> >


Respuesta Responder a este mensaje
#4 Alejandro Mesa
01/12/2005 - 15:31 | Informe spam
Fernando Ugarte,

Si no importa cual de ellos prefieres (de los duplicados), entonces puedes
añadir una columna identity para poder diferenciar las filas.

alter table t1
add c1 int not null identity
go

select a.*
from t1 as a
where not exists (
select * from t1 as b where b.[id] = a.[id] and b.c1 > a.c1
)

select a.*
from t1 as a
where not exists (
select * from t1 as b where b.[id] = a.[id] and b.c1 < a.c1
)
go

alter table t1
drop column c1
go


AMB

"Fernando Ugarte" wrote:

hola
tengo una tabla con los siguientes campos

ID
nombre
domicilio

el problema es que tengo registros como los sig

ID nombre domicilio
1 pepe xxxxx
2 juan carlos perez yyyyyy
2 juan c. perez yyy333
3 miguel zzzzz
4 carlos avila kkkkkk
4 avila carlos kkdddd

el problema es que quiero eliminar los duplicados, y seleccionar solo uno de
los duplicados.
El distinct no funcionaria, dado que los nombre son distintos

Alguna idea?

gracias



Respuesta Responder a este mensaje
#5 Isaias
01/12/2005 - 18:22 | Informe spam
Fernando

Por IGUALES, entiendo que son IGUALES, eso "igualitos"...

PEPE = PEPE = pepe = PePe

Pero, estos, no son iguales

PEPE <> JOSE

Como dice Carlos, deberas hacerlo a "mano", no hay de otra.

Saludos
IIslas


"Fernando Ugarte" escribió:

Gracias,

Creo que no me sirve ninguno de los ejemplos, la diferencia es que tengo
registros con la misma clave primaria, y con nombre parecidos pero no
iguales.

otra idea?


"Isaias" escribió en el mensaje
news:
> Consulta esta liga
>
> http://www.databasejournal.com/feat...hp/1438651
> Saludos
> IIslas
>
>
> "Fernando Ugarte" escribió:
>
> > hola
> > tengo una tabla con los siguientes campos
> >
> > ID
> > nombre
> > domicilio
> >
> > el problema es que tengo registros como los sig
> >
> > ID nombre domicilio
> > 1 pepe xxxxx
> > 2 juan carlos perez yyyyyy
> > 2 juan c. perez yyy333
> > 3 miguel zzzzz
> > 4 carlos avila kkkkkk
> > 4 avila carlos kkdddd
> >
> > el problema es que quiero eliminar los duplicados, y seleccionar solo
uno de
> > los duplicados.
> > El distinct no funcionaria, dado que los nombre son distintos
> >
> > Alguna idea?
> >
> > gracias
> >
> >
> >



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida