DB2
Habe eine Tabelle mit
AbfahrtID | Ankunft ID | ....
1..................2
2..................3
2...................4
2...................5
5...................4
Nun möchte ich beispielsweise alle Wege von ID 1 zu ID 4 auslesen.
Hierzu möchte ich die Route "mitschreiben".
Im Beipsiel wäre die Ergebnisstabelle:
AbfahrtID | Ankunft ID | Route
1..................4.................1-2-4.
1..................4..................1-2-5-4
Beim "mitschreiben" der Route bekomme ich allerdings ein Problem.
Value "1-2-4" is too long
vereinfachtes Schema meiner Abfrage:
rekursiver Aufruf scheint so weit zu funktionieren. obige SQL Abfrage ist nur skizzenhaft.
Bekomme allerdings das long Problem.
vermutetes Problem: Felder von WITH werden immer größer...
Muss ich die Felder im WITH Teil vielleicht gleich "größer anlegen" oder so irgendwie?
.
Habe eine Tabelle mit
AbfahrtID | Ankunft ID | ....
1..................2
2..................3
2...................4
2...................5
5...................4
Nun möchte ich beispielsweise alle Wege von ID 1 zu ID 4 auslesen.
Hierzu möchte ich die Route "mitschreiben".
Im Beipsiel wäre die Ergebnisstabelle:
AbfahrtID | Ankunft ID | Route
1..................4.................1-2-4.
1..................4..................1-2-5-4
Beim "mitschreiben" der Route bekomme ich allerdings ein Problem.
Value "1-2-4" is too long
vereinfachtes Schema meiner Abfrage:
PHP:
WITH Verbindungen(AbfahrtID, AnkunftID, Route) AS
(
SELECT AbfahrtID,
AnkunftID,
AbfahrtID || '-' || AnkunftID ,
FROM Flug
UNION ALL
SELECT vater.AbfahrtID,
kind.AnkunftID,
vater.Route || '-' || vater.AbfahrtID || '-' ||
kind.AnkunftID ,
... rekursiver Aufruf
)
SELECT AbfahrtID, AnkunftID, Route
FROM Verbindungen;
Bekomme allerdings das long Problem.
vermutetes Problem: Felder von WITH werden immer größer...
Muss ich die Felder im WITH Teil vielleicht gleich "größer anlegen" oder so irgendwie?

.