[opengeodb] Sortierreihenfolge ändern

Michael Diederich michael at md-d.org
Mit Jun 20 15:31:37 CEST 2007


Hi!

Martin Feiger schrieb:

> SELECT    *,
>  (SELECT sqrt( (
>     abs( c1.Latitude - c2.Latitude ) * abs( c1.Latitude - c2.Latitude ) 
> *6400 ) + ( abs( c1.Longitude - c2.Longitude ) *
>     abs( c1.Longitude - c2.Longitude ) *12100 ) ) AS dist
>     FROM add_geoinfo c1, add_geoinfo c2
>     WHERE c1.ZipCode = '.$zipCode.'
>     AND c2.ZipCode = zip
>    ) AS distance


> Das Problem ist, dass User ohne gültige PLZ zuerst angezeigt werden 
> (distance=NULL) und anschliessend die Treffer
> in der aufsteigenden Reihenfolge.
>  
> Wie könnte man zuerst alle User mit gültiger PLZ und anschliessend 
> distance=NULL, also User ohne gültige PLZ anzeigen ? 
>  
> Das ganze unbedingt in _einem_ SQL Statement, sonst funktioniert das 
> Blättern über LIMIT nicht!


Select .... if(isnull(plz), 99999, plz) ... from ....

PLZ = NULL wird dann zu 99999 und ganz am Schluß stehen.

(Habs jetzt nicht getestet, aber müsste so gehen :)

Liebe Grüße,

Michael