Witam, mam problem z kwerką do wyświetlenia wierszy w kolejności w jakiej są ze sobą połączone.
Mam tabelę w której każdy wiersz wskazuje na inny (łańcuch, pierwszy element wskazuje na NULL). Pole prev_id to FK do pola id.
Posortowane po id / nazwie mamy:
id | nazwa | prev_id |
---|---|---|
1 | A | NULL |
2 | B | 4 |
3 | C | 2 |
4 | D | 1 |
5 | E | 3 |
6 | F | 5 |
Elementy wskazują jak poniżej:
A <- D <- B <- C <- E <- F
i taki też wynik chce uzyskać:
id | nazwa | prev_id |
---|---|---|
1 | A | NULL/0 |
4 | D | 1 |
2 | B | 4 |
3 | C | 2 |
5 | E | 3 |
6 | F | 5 |
Napisałem triggera który pilnuje integralności w tabeli - jeśli wiersz zostanie skasowany, zmieniona zostanie pozycja czy dodany nowy, prev_id zawsze będzie wskazywał poprawnie dla edytowanego jak i innych powiązanych z nim (na dany wiersz może wskazywać tylko jeden inny).
Myślałem że z triggerem będzie większy problem ale tu poszło gładko natomiast zaćmienie mam jakieś z kwerką by wyświetlić w kolejności jak na siebie wskazują wiersze :/
EDIT: już mam kwerkę która zwraca dokładnie to co chciałem :)