i DataBase Funktion haben, dieSQL-Abfrage mit Datenbankfunktion
CREATE OR REPLACE FUNCTION distance(lat1 FLOAT, lon1 FLOAT, lat2 FLOAT, lon2 FLOAT) RETURNS FLOAT AS $$
DECLARE
x float = 69.1 * (lat2 - lat1);
y float = 69.1 * (lon2 - lon1) * cos(lat1/57.3);
BEGIN
RETURN sqrt(x * x + y * y);
END
$$ LANGUAGE plpgsql;
jetzt 2 Tabellen Ich habe durch Koordinaten Abstand berechnen (mit 0.59 Beziehung) ein
Person mit Säulen genannt -> PersonId, Name, Nachname
und ein
Lage mit Spalten -> Personid, Breitengrad, Längengrad.
jetzt versuche ich, die Person zu bekommen, dass der Abstand weniger bis 5 ist mit der distnace Funktion
i mit dieser folgenden Abfrage starten bekommen kenne die id ersten
select loc.id,loc.latitude,loc.longitude from location loc
where distance(123,456,loc.latitude,loc.longitude)<0.5
aber nicht, wie um alle Personen mit der ID aus der obigen Abfrage zu erhalten.
Wie kann ich das tun? danke im voraus.
daaaaam du guten dank :-) – user986474
Das ist sehr einfach! Lesen Sie dazu: http://www.postgresql.org/docs/8.3/static/tutorial-join.html – barsju