Knud Schröder: (MySQL) Problem beim SQL-Statement

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

  1. 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

  2. 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

  3. 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 ;-)