MySQL stöder inte rekursiva frågor så du måste göra det på den hårda vägen:
- Välj raderna där
ParentID = X
därX
är din rot. - Samla in
Id
värden från (1). - Upprepa (1) för varje
Id
från (2). - Fortsätt återkommande för hand tills du hittar alla lövnoder.
Om du känner till ett maximalt djup kan du ansluta ditt bord till sig själv (med LEFT OUTER JOINs) till största möjliga djup och sedan rensa upp NULL-värdena.
Du kan också ändra din trädrepresentation till kapslade uppsättningar .