Re: ejecucion mas rapida que a base de scripts

From: Andres Manuel Salvador Garcia <andresmsg(at)yahoo(dot)com(dot)mx>
To: pg_ayuda postgreSQL <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: ejecucion mas rapida que a base de scripts
Date: 2007-02-16 00:03:41
Message-ID: 267747.59174.qm@web53412.mail.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Creo que ésto te puede servir....
insert into otratabla(empleado,fecha,ciudad1,ciudad2)
select empleado ,min(fecha) as fecha_min,ciudad1,ciudad2 from tabla1 where
case when ciudad2='sevilla' then 1=1
when ciudad1='sevilla' then 1=1 else 1=0 end
group by nombre,ciudad1,ciudad2;

------

el proceso a ejecutar seria,
para cada empleado, elegir aquel registro que sea el mas antiguo y que ciudad2 sea sevilla, si no existe ninguna ocurrencia buscar y elegir aquella que ciudad1 sea sevilla, en el caso de no cumplir ninguna de las dos reglas no se considera el empleado
el resultado tendria que ser
rafael ; 28/01/07; sevilla; malaga;

marilo ; 11/08/07; sevilla; malaga
miryam ; 11/02/07; sevilla; sevilla;
lucia ; 11/08/07; sevilla; malaga
pepe no se considera por no tener ninguna ciudad sevilla.
no se si te ha quedado claro.
en php, lo que hago es procesar de la siguiente forma :
- hago un select distinct por nombre de empleado.
- cargo una tabla temporal con los datos de ese empleado,
- verifico la regla que te he comentado.
- inserto en la tabla resulltante el valor elegido.
y asi para cada valor de nombre empleado.
como te comento un proceso muy lento para tener una carga de datos enorme, el numero de registros que tengo es de aprox 24000 registros, y un select distinct por nombre empleado me da alrededor de 14000 registros.
los datos como habras adivinado son ficticios.
gracias




___________________________________________________________
Do You Yahoo!?
La mejor conexión a Internet y <b >2GB</b> extra a tu correo por $100 al mes. http://net.yahoo.com.mx

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Andres Manuel Salvador Garcia 2007-02-16 00:06:55 RE: ejecucion mas rapida que a base de scripts
Previous Message Luis Rodrigo Gallardo Cruz 2007-02-15 23:29:43 Re: urgnteeeeeeee