(MySQL) Problem beim SQL-Statement
Knud Schröder
0 Knud Schröder0 Daniela Koller0 Tom
Hallo Forummer!
Wiedermal ein für Euch warscheinlich klitzekleines Select-Problem:
In der Tabelle Kunden befinden sich alle Kundenadressen.
In der Tabelle Plz sind alle Postleitzahlen mit dazugehörigen Polarkoordinaten gespeichert.
Nun möchte ich alle diejenigen Kunden selektieren, deren Postleitzahl eine bestimmte Eigenschaft hat,
die ich aus der Tabelle plz berechne.
Die folgende Abfrage habe ich gebastelt und eingesehen, dass sie nicht funktionieren kann, denn ich
nehme wohl in der plz keinen Bezug auf kunden bzw. umgekehrt.
Ich müsste für jede Kunden-Postleitzahl die Postleitzahl in plz suchen und dann kann ich die Berechnungen
vornehmen.
$abfrage = "select kunden.*,plz.X,plz.Y from kunden, plz where sqrt(pow(('$x1'-plz.X)*80,2)+pow(('$y1'-plz.Y)*110,2)) <= '$radius' limit 0,10";
Die Frage ist nun halt, wie ich die Abfrage formulieren muss, um das gewünschte Ergebnis zu erhalten.
$x1 und $y1 sind vorgegebene plz-Polarkoordinaten $radius ist mit 50 vorinitialisiert.
Danke für Eure Hilfe !!!
Knud
Hallo !
Toll! oder Mist!
Jetzt hab ich im Moment wo ich die Frage abgeschickt habe, die Tomaten von den Augen bekommen.
Hab die Lösung jetzt.
Danke, dass ich mich Euch mitteilen durfte, war nett wieder mal mit Euch zu plaudern.
Knud
Hi Knud
$abfrage = "select kunden.*,plz.X,plz.Y from kunden, plz where sqrt(pow(('$x1'-plz.X)*80,2)+pow(('$y1'-plz.Y)*110,2)) <= '$radius' limit 0,10";
Beinahe fertig, nur noch die verknüpfung anhängen
and kunden.plz = plz.plz -- Die beiden Felder, welche die Postleitzahl beinhalten
Gruss Daniela
Hallo Knud
Nur eine kleine Korrektur:
Die Frage ist nun halt, wie ich die Abfrage formulieren muss, um das gewünschte Ergebnis zu erhalten.
$x1 und $y1 sind vorgegebene plz-Polarkoordinaten $radius ist mit 50 vorinitialisiert.
X und Y sind kartesische Koordinaten. Polarkoordinaten werden in Strecke(r) und Winkel (phi) ausgedrückt.
Grüsse
Tom
PS. Es freut mich, dass Deine Problemlösung schon so weit fortgeschritten ist ;-)