I wprowadziły połączonej listy jako samodzielny przedstawieniu tabeli bazy danych:Jak sortować połączoną listę w sql?
CREATE TABLE LinkedList(
Id bigint NOT NULL,
ParentId bigint NULL,
SomeData nvarchar(50) NOT NULL)
gdzie id jest kluczem podstawowym i parentId jest identyfikator poprzedniego węzła na liście. Pierwszy węzeł ma ParentId = NULL.
Teraz chcę WYBRAĆ z tabeli, sortując wiersze w takiej samej kolejności, w jakiej powinny się pojawić, jako węzły na liście.
Np .: jeśli tabela zawiera wiersze
Id ParentId SomeData
24971 NULL 0
38324 24971 1
60088 60089 3
60089 38324 2
61039 61497 5
61497 60088 4
109397 109831 7
109831 61039 6
Następnie sortowania go, stosując kryteria, powinno skutkować:
Id ParentId SomeData
24971 NULL 0
38324 24971 1
60089 38324 2
60088 60089 3
61497 60088 4
61039 61497 5
109831 61039 6
109397 109831 7
Miałeś użyć SomeData Columa jako kontrola, więc proszę nie oszukiwać robiąc ZAMÓW przez SomeData :-)
Twój komentarz nie oszukuje: byłby lepszy, gdybyś wybrał przykładowe dane, które nie uzyskałyby poprawnego wyniku podczas samodzielnego sortowania. W ten sposób "oszustwo" nie byłoby możliwe. – AnthonyWJones
Hmm ... Nie sądzę, że zrozumiałeś moją intencję podczas dodawania tej kolumny. Po prostu chciałem ułatwić życie ludziom, którzy mogą znaleźć odpowiedź. Nazwij to "narzędziem do testowania". –