From: | "Mario Gonzalez ( mario__ )" <gonzalemario(at)gmail(dot)com> |
---|---|
To: | Juan Martínez <jeugenio(at)umcervantes(dot)cl> |
Cc: | "Patricio Cifuentes Ithal" <pcifuentes(at)siigsa(dot)cl>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: borrar registros repetidos |
Date: | 2006-09-22 19:51:25 |
Message-ID: | 2065a6cf0609221251u42aab3feneeffe677caad997d@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On 22/09/06, Mario Gonzalez ( mario__ ) <gonzalemario(at)gmail(dot)com> wrote:
> On 22/09/06, Juan Martínez <jeugenio(at)umcervantes(dot)cl> wrote:
> Alguna otra idea
> >
> > Te sugiero que uses la consola.
> > Se me ocurre que puedes hacer un cursor ordenado por el campo nombre y
> > hacer una funcion que los traspase a otra tabla solo la primera
> > ocurrencia. Eso no es muy complicado.
> >
> > Hacerlo todo en un solo SQL statement lo veo dificil.
> >
>
> No Juan, Si se puede hacer mediante SQL, en realidad es muy facil.
> Patricio, esas preguntas dan gusto, lo digo de verdad :-)
>
> CREATE TEMP TABLE personas_tmp AS SELECT distinct on (nombre)
> id,nombre from personas;
>
> DELETE FROM personas where personas.id != personas_tmp.id;
>
> INSERT INTO personas SELECT * from personas_tmp ;
>
Mis disculpas!! el DELETE ..... cambialo simplemente por
DELETE FROM personas; por lo tanto
CREATE TEMP TABLE personas_tmp AS SELECT distinct on (nombre)
id,nombre from personas;
DELETE FROM personas;
INSERT INTO personas SELECT * from personas_tmp ;
>
From | Date | Subject | |
---|---|---|---|
Next Message | Juan Martínez | 2006-09-22 20:06:45 | Re: borrar registros repetidos |
Previous Message | Mario Gonzalez ( mario__ ) | 2006-09-22 19:45:11 | Re: borrar registros repetidos |