Re: Necesito buscar duplicados

From: "ernesto contreras" <eeljuri(at)gmail(dot)com>
To: "Sergio Valdes Hurtado" <svh(dot)pgsql(at)gmail(dot)com>
Cc: "Lista PostgreSql" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Necesito buscar duplicados
Date: 2006-08-02 15:09:41
Message-ID: 79f90aff0608020809u358a83bex4cd9ea4d7f6d9f0e@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Puedes hacerlo así:

select max(oid), count(1) as cuantos, estab,ensenanza,
nivel, curso
from cursos_establecimiento_tmp
group by estab,ensenanza, nivel, curso
having count(*) > 1

Luego, eliminas por oid.
delete cursos_establecimiento_tmp where oid=numoid

Saludos,

Ernesto.

On 8/2/06, Sergio Valdes Hurtado <svh(dot)pgsql(at)gmail(dot)com> wrote:
>
> Saludos a todo el mundo,
>
> Tengo el siguiente problema, tenemos una tabla con las siguientes
> características:
>
> CREATE TABLE cursos_establecimiento
> (
> id int4 NOT NULL DEFAULT
> nextval('cursos_establecimiento_id_seq'::regclass),
> estab int8 NOT NULL,
> ensenanza int4,
> nivel int2,
> curso char(1),
> CONSTRAINT pk_cursos_establecimiento PRIMARY KEY (id),
> CONSTRAINT uk_cursos_establecimiento UNIQUE (estab, ensenanza, nivel,
> curso)
> )
>
> En esta tabla se cargan datos que nos entregan en un archivo de texto
> y hasta hace un par de semanas no teníamos problemas en las cargas.
> Pero ahora está sucediendo que en el archivo de origen vienen
> registros en que se repite la combinación estab + ensenanza + nivel +
> curso, lo que viola la constraint establecida.
>
> Mientras buscamos la forma de que quienes nos envían estos archivos de
> origen no comentan el error de duplicar la información, necesito
> seguir cargando estos archivos a nuestra BD, para ello creamos una
> tabla similar con estas características:
>
> CREATE TABLE cursos_establecimiento_tmp
> (
> id int4 NOT NULL DEFAULT
> nextval('cursos_establecimiento_id_seq'::regclass),
> estab int8 NOT NULL,
> ensenanza int4,
> nivel int2,
> curso char(1),
> CONSTRAINT pk_cursos_establecimiento_tmp PRIMARY KEY (id)
> )
>
> Como en esta nueva tabla no hay validación de duplicidad, puedo cargar
> los datos correctamente y aquí viene mi pregunta:
> ¿como puedo hacer una consulta que me busque elementos duplicados en
> esta nueva tabla? , tomando en consideración que lo que no se debe
> repetir es la combinación de estab + ensenanza + nivel + curso
>
>
> Gracias por su ayuda
>
> ---------------------------(fin del mensaje)---------------------------
> TIP 4: No hagas 'kill -9' a postmaster
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Marco Vinicio Jimenez Rojas 2006-08-02 15:26:22 Re: fk con parte de un campo
Previous Message Felipe Amezquita 2006-08-02 14:54:22 Manejo de LOOPS