How can I sort the records of a SELECT statement so that they represent a valid tree?
All of my attempts show sub-nodes nested under wrong parent nodes. What is the most reliable way to achieve this ordering?
Data
ID Parent ID Title
--------------------------------------------
0 NULL Root
1 0 Node A
2 0 Node B
3 1 Sub-Node C
4 1 Sub-Node D
5 3 Sub-Node E
Output
ID Parent ID Title
--------------------------------------------
0 NULL Root
1 0 Node A
3 1 Sub-Node C
5 3 Sub-Node E
4 1 Sub-Node D
2 0 Node B
Data Visualisation
Root
Node A
Sub-Node C
Sub-Node E
Sub-Node D
Node B
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…