D
dms
Angenommen ich habe eine Tabelle die Streckenabschnitte enthält. Z.B. so:
In den Feldern punkt_a und punkt_b sind nur ID's, die zu Orten in einer anderen Tabelle gehören.
Jetzt würde ich gerne mit einem einzigen Query alle möglichen Strecke zwischen zwei beliebigen Punkten ermitteln. Ist das möglich?
Für die Punkte 1 und 2 gibt es hier z.B. zwei Wege.
1<->2 Entfernung 5.00
1<->3<->2 Entfernung 6.00
Es wird auch starke Verzweigungen geben, so dass sich eine Strecke zwischen zwei Punkten aus z.B. 10 oder mehr Teilstrecken bilden kann.
Voraussichtlich wird es maximal 100 Punkte geben.
Hat jemand eine Idee?
Code:
+------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | | PRI | NULL | auto_increment |
| punkt_a | int(11) | | | 0 | |
| punkt_b | int(11) | | | 0 | |
| entfernung | float(6,2) | | | 0.00 | |
+------------+------------------+------+-----+---------+----------------+
Code:
+----+---------+---------+------------+
| id | punkt_a | punkt_b | entfernung |
+----+---------+---------+------------+
| 1 | 1 | 2 | 5.00 |
| 2 | 1 | 3 | 4.00 |
| 3 | 2 | 3 | 2.00 |
+----+---------+---------+------------+
In den Feldern punkt_a und punkt_b sind nur ID's, die zu Orten in einer anderen Tabelle gehören.
Jetzt würde ich gerne mit einem einzigen Query alle möglichen Strecke zwischen zwei beliebigen Punkten ermitteln. Ist das möglich?
Für die Punkte 1 und 2 gibt es hier z.B. zwei Wege.
1<->2 Entfernung 5.00
1<->3<->2 Entfernung 6.00
Es wird auch starke Verzweigungen geben, so dass sich eine Strecke zwischen zwei Punkten aus z.B. 10 oder mehr Teilstrecken bilden kann.
Voraussichtlich wird es maximal 100 Punkte geben.
Hat jemand eine Idee?