undso: Usersuche mit Entfernung

Hallo Forum,
ich habe eine Usersuche, bzw. eine Suchform, wo man nur nach Usernamen suchen kann. Beim Ergebnis will ich die Distanz/Entfernung zu diesem User angeben.
Leider müsste ich dann pro Ergebnis wiederum eine Query für die Berechnung verbraten. Und das wäre übel. Hätte jemand für mich Tipps, wie ich das anstellen kann?

Userdaten sind in der Tabelle praefix_usertabelle. Auch die PLZ von dem User.

select id, username, geschlecht, isonline, plz from praefix_usertabelle where username like %"+suchform+"% ORDER BY RAND() LIMIT 30;

String plz2=holeMeinePLZ+"";
String plz1=plz aus Query von oben+"";

Jetzt muss ich die Längen und Breitenangaben für die zwei PLZ holen und die Berechnung durchführen:

String1=select breite, laenge from praefix_geodb where plz like %"+plz1+"';
double breite1, laenge 1

String2=select breite, laenge from praefix_geodb where plz like %"+plz2+"';
double breite2, laenge 2

Jetzt die Berechnung mit den 2xbreiten und 2längen ausführen.

Das ganze wird ja spaßig, wenn ich eine erweiterte Suchform realisieren will, in der man einen Umkreis eingeben kann. 5km, 10km, 50km.

Wäre super, wenn mir jemand weiterhelfen und vor allem Tipps geben könnte.
Ilja der Spezialist in Punkto Datenbank ist gefragt ;)

Grüße
undso

Programmiersprache: jsp