eliminar duplicados especial

20/01/2005 - 12:23 por SRenau | Informe spam
Deseo eliminar los duplicados de una tabla pero solo los duplicados de una
columna me explico:

Tabla1:

C1 C2
-
1 a
1 b
2 a
2 b
2 c
2 d
3 a
3 b

Querria en este caso eliminar los duplicados de la columna C1, resultado:

C1 C2
-
1 a
2 a
3 a

Sin importarme cual de loas posibles filas elijo entre las otras, solo me
interesa que en la columna C1 no hay duplicados.

Gracias, necesito hacerlo en SQL, si es posible.

Preguntas similare

Leer las respuestas

#1 Maxi
20/01/2005 - 13:28 | Informe spam
Hola, en este articulo se explican algunas tecnicas para eliminar duplicados

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




Salu2
Maxi


"SRenau" escribió en el mensaje
news:
Deseo eliminar los duplicados de una tabla pero solo los duplicados de una
columna me explico:

Tabla1:

C1 C2
-
1 a
1 b
2 a
2 b
2 c
2 d
3 a
3 b

Querria en este caso eliminar los duplicados de la columna C1, resultado:

C1 C2
-
1 a
2 a
3 a

Sin importarme cual de loas posibles filas elijo entre las otras, solo me
interesa que en la columna C1 no hay duplicados.

Gracias, necesito hacerlo en SQL, si es posible.
Respuesta Responder a este mensaje
#2 Tinoco
20/01/2005 - 13:53 | Informe spam
Hola,

Un link que trata este tema: [En Ingles]
http://support.microsoft.com/defaul...-us;139444

Tinoco

"SRenau" wrote:

Deseo eliminar los duplicados de una tabla pero solo los duplicados de una
columna me explico:

Tabla1:

C1 C2
-
1 a
1 b
2 a
2 b
2 c
2 d
3 a
3 b

Querria en este caso eliminar los duplicados de la columna C1, resultado:

C1 C2
-
1 a
2 a
3 a

Sin importarme cual de loas posibles filas elijo entre las otras, solo me
interesa que en la columna C1 no hay duplicados.

Gracias, necesito hacerlo en SQL, si es posible.
Respuesta Responder a este mensaje
#3 SRenau
21/01/2005 - 12:47 | Informe spam
Gracias de todos modos ya lo resolví

select * from t_1,t_2 where
reserva_id in (
select min(t2_id) as t2_id
from t_1,t_2
where t_1.c1=t_2.c1
group by t_2.c1
)
and t1_id in(
select min(t1_id) as t1_id
from t_1,t_2,
where t_1.c1=t_2.c1
group by t_1.c1
)
and t_1.c1=t_2.c1

Es un solucion que me ha parecido muy eficiente y curiosa.

¿Que os parece?

"SRenau" wrote:

Deseo eliminar los duplicados de una tabla pero solo los duplicados de una
columna me explico:

Tabla1:

C1 C2
-
1 a
1 b
2 a
2 b
2 c
2 d
3 a
3 b

Querria en este caso eliminar los duplicados de la columna C1, resultado:

C1 C2
-
1 a
2 a
3 a

Sin importarme cual de loas posibles filas elijo entre las otras, solo me
interesa que en la columna C1 no hay duplicados.

Gracias, necesito hacerlo en SQL, si es posible.
Respuesta Responder a este mensaje
#4 Liliana Sorrentino
21/01/2005 - 19:55 | Informe spam
Hola,
según tu ejemplo original, yo haría:

SELECT c1, c2 = MIN(c2)
FROM tabla
GROUP BY c1
Liliana.

"SRenau" escribió en el mensaje
news:
Gracias de todos modos ya lo resolví

select * from t_1,t_2 where
reserva_id in (
select min(t2_id) as t2_id
from t_1,t_2
where t_1.c1=t_2.c1
group by t_2.c1
)
and t1_id in(
select min(t1_id) as t1_id
from t_1,t_2,
where t_1.c1=t_2.c1
group by t_1.c1
)
and t_1.c1=t_2.c1

Es un solucion que me ha parecido muy eficiente y curiosa.

¿Que os parece?

"SRenau" wrote:

> Deseo eliminar los duplicados de una tabla pero solo los duplicados de


una
> columna me explico:
>
> Tabla1:
>
> C1 C2
> -
> 1 a
> 1 b
> 2 a
> 2 b
> 2 c
> 2 d
> 3 a
> 3 b
>
> Querria en este caso eliminar los duplicados de la columna C1,


resultado:
>
> C1 C2
> -
> 1 a
> 2 a
> 3 a
>
> Sin importarme cual de loas posibles filas elijo entre las otras, solo


me
> interesa que en la columna C1 no hay duplicados.
>
> Gracias, necesito hacerlo en SQL, si es posible.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida