Announcement

Collapse
No announcement yet.

Abfrage mit Rechnung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Abfrage mit Rechnung

    Hallo liebe Community,

    habe derzeit das Problem das ich eine Abfrage machen muss, die eine komplizierte Rechnung enthält. Es geht um Städte und Entfernung(Map).

    Folgendes ist mein Ziel: Errechnen eines Umkreises und alle im Umkreis von 100 km laden. Nun, in PHP habe ich die Möglichkeit gefunden es zu errechnen, jedoch möchte ich nicht 2mio Daten laden um sie dort zu verarbeiten .

    Nun die Rechnung:

    PHP Code:
    SELECT sqrt(`Longitude`-50.998*71.5*2+`Latitude`-8.273*111.3*2) as d FROM `geoWhere d<100 
    Leider funktioniert es so nicht

    Habe auch schon versucht die Rechnung zu teilen, doch genau dies ist das eigentliche Problem. Wie kann ich Werte der Tabelle mit einer Rechnung versehen? Gemeint sind hier die Werte die ich per As errechne, z.B. 1+1 as lon.


    In PHP habe ich folgende Rechnung:

    PHP Code:
    $lon1=50.998;  //Ausgangsort(Längengrad) wird noch ersetzt
    $lon2=53.117;  //Zielort(Längengrad), soll in der DB gesucht werden
    $lat1=8.273;   //Ausgangsort(Breitengrad) wird ersetzt
    $lat2=8.683;   //Zielort(Breitengrad) soll in der D gesucht werden
    $l=$lon1-$lon2//Rechnung 1(Längengrada - Längengradb)
    $a=$lat1-$lat2//Rechnung 2(Breitengrada - Breitengradb)

    //mit distance: Entfernung in km 
    $dx 71.5 $l;
    $dy 111.3 $a;

    //Wurzel aus den Ergebnissen ziehen um eine Entfernung zu erhalten
    $distance sqrt($dx $dx $dy $dy); 
    Kann ich diese Rechnung auf irgendeiner Art und Weise in der DB ausführen?

  • #2
    Leider funktioniert es so nicht
    Ja diese Aussage beschreibt das Problem sehr treffend.
    Was funktioniert nicht? In einem Select kannst Du ganz normal rechnen und auch Wurzelziehen. Außerdem solltest diese unsäglichen Backticks weglassen.

    Dim

    PS: kann es sein, dass deine Klammersetzung innerhalb der sqrt Funktion nicht ganz richtig (=fehlend) ist?
    Zitat Tom Kyte:
    I have a simple philosophy when it comes to the Oracle Database: you can treat it as a black box and just stick data into it, or you can understand how it works and exploit it as a powerful computing environment.

    Comment

    Working...
    X