純粋なSQLでは不可能です。
SQLは、ツリー(階層データ)ではなく、リレーショナルデータを処理することを目的としています。
SQLスキーマでツリーを表すことはできますが、意図したとおりにツリーを作成することはできません。
唯一の方法は、保存しているレベルと同じ数の結合を作成して、使用可能な結果を取得することです。
現在のスキーマは複数のレベルをサポートしている可能性がありますが、1つまたは2つ以上のレベルを管理することは非常に困難です。
入れ子集合モデル
に興味があるかもしれません または
これ Doctrine2を使用するには