> SELECT *, > (3956 * 2 * ASIN(SQRT(POWER(SIN((41.087115 - ABS("ILCELER"."LATITUDE"))> * pi()/180/2),2)+ COS(41.087115*pi()/180)* COS(ABS("ILCELER"."LATITUDE")> * pi()/180) * POWER(SIN((29.023132 - "ILCELER"."LONGITUDE") *> pi()/180/2),2)))) as mesafe> FROM "ILCELER"> HAVING mesafe > 10
Bir öneri olarak;
Bu kadar uzun hesabı tek select cümleciği içerisinde yapmak yerine bu hesabı veritabanında bir alana kayıt ederek yapsanız ve
select cümleciğinde sadece bu alanı kullansanız diyorum (Bildiğim kadarıyla Postgresql de computed field -hesaplanmış alan- kullanma imkanı var. Yani bir veya daha fazla alana girilen değerler üzerinden otomatik olarak ilgili alanın değeri hesaplanıp kayıt edilebiliyor. )
Zekeriya BOZKURT
_________________________________________________________________
Gelen kutunuzda hiç yer kalmamasından bıktınız mı? Windows Live Hotmail şimdi size 5GB ÜCRETSİZ depolama alanı sunuyor! Ücretsiz Windows Live Hotmail hesabınızı buradan alın!
http://get.live.com/mail/overview
_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Received on Tue 03 Jun 2008 - 19:06:08 EEST