В mysql нет рекурсивных запросов. Но если известна максимальная глубина вложенности N, можно сгенерировать запрос, который джойнит таблицу саму на себя N раз.
Можно обойтись одной таблицей, просто добавив в неё недостающие поля.
Конечно, придётся переписать запрос на прямых потомков, добавив depth=0, либо создать для них VIEW, где этот depth=0 уже прописан.