|
Hallo,
die Frage ist genau so gut in einem SQL Forum
aufgehoben, vielleicht hat aber schon jemand von Euch ein ähnliches Problem
gehabt.
In einer Community können die Mitglieder u. a. nach
der Entfernung sortiert werden.
Das geschicht mittels
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
FROM
( ( (
[...]
ORDER BY distance ASC
LIMIT [...]
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!
Mit freundlichen Grüßen Martin
Feiger
|