Hallo liebes Forum,
Ich habe eine Datenbank, welche historische Werte mitführt.
Tabelle: Prod
ID | Produkt
1 | A
2 | B
3 | A
4 | C
5 | B
6 | A
7 | B
8 | A
9 | C
Jetzt brauche ich jedoch einen Select, welcher mir das ganze als
Verkettete Liste ausgibt.
Ungefähr so: [VG = Vorgänger, NF = Nachfolger]
ID | VG | NF
1 |Null| 3
2 |Null| 5
3 | 1 | 6
4 |Null| 9
5 | 2 | 7
6 | 3 | 8
7 | 5 |Null
8 | 6 |Null
9 | 4 |Null
Nur mal mit VG brachte mich das hier nicht ans Ziel
Als Skalare Funktion bekomme ich den geklammerten Teil ohne Probleme
hin. Nur denke ich nicht, daß dies der Weg ist, den man gehen sollte.
Danke für eure Hilfe.
Ich habe eine Datenbank, welche historische Werte mitführt.
Tabelle: Prod
ID | Produkt
1 | A
2 | B
3 | A
4 | C
5 | B
6 | A
7 | B
8 | A
9 | C
Jetzt brauche ich jedoch einen Select, welcher mir das ganze als
Verkettete Liste ausgibt.
Ungefähr so: [VG = Vorgänger, NF = Nachfolger]
ID | VG | NF
1 |Null| 3
2 |Null| 5
3 | 1 | 6
4 |Null| 9
5 | 2 | 7
6 | 3 | 8
7 | 5 |Null
8 | 6 |Null
9 | 4 |Null
Nur mal mit VG brachte mich das hier nicht ans Ziel
Code:
Select P.ID, V.VID From Prod AS P LEFT OUTER JOIN (SELECT MAX(ID) AS VID FROM Prod AS HP WHERE ID < P.ID AND P.Produkt = HP.Prod) AS V
hin. Nur denke ich nicht, daß dies der Weg ist, den man gehen sollte.
Danke für eure Hilfe.
Comment