Mailinglisten-Archive |
Frank Stahl wrote: > Hallo, > > ich hoffe das vielleicht einer mir helfen kann. > > Es geht um eine Anwendung die im Bereich Tunnelbau eingesetzt wird. > > Zum Verständnis, die Station [m] (Tunnelmeter) , Ring(Ein Tunnel besteht > aus Ringen) ist Dimensionslos, Date spricht für sich. > > Die folgende Tabelle zeigt eine Ausschnitt aus einer Faktentabelle. > > Beispiel1: Suche den direkten Nachbar der Station 2480. Als Ergebnis > würde ich 2483 erwarten. Wenn nach oben oder unten der gleiche Abstand > ist, dann soll er bitte die jeweils größer nehmen. > > Beispiel2: Suche den direkten Nachbar der Station 2488. Als Ergebnis > würde ich 2489 erwarten. das nächst höhere: SELECT * FROM `fact_dim2dim` WHERE `station` >= 2489 ORDER BY `station` ASC LIMIT 1 das nächst kleinere: SELECT * FROM `fact_dim2dim` WHERE `station` <= 2489 ORDER BY `station` DESC LIMIT 1 daraus ergibt sich: das nächste ( SELECT *, `station` - 2489 AS `difference` FROM `fact_dim2dim` WHERE `station` >= 2489 ORDER BY `station` ASC LIMIT 1 ) UNION ) SELECT *, 2489 - `station` AS `difference` FROM `fact_dim2dim` WHERE `station` <= 2489 ORDER BY `station` DESC LIMIT 1 ) ORDER BY `difference` ASC, -- die nähere `station` DESC -- die größere LIMIT 1 ... ungetestet ... -- Sebastian Mendel www.sebastianmendel.de www.sf.net/projects/phpdatetime | www.sf.net/projects/phptimesheet -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive