それ自体へのネストされた参照を持つテーブルに対してクエリを実行しています。使用している INNER JOIN 値に null 参照を持つレコードを取得する必要があります。つまり、ツリー テーブル レコードは同じ深さに達しない可能性があり、それらすべてを取得する必要があります。
atmを使用しているクエリは次のとおりです。
SELECT DISTINCT <valuesThatINeed>
FROM atable foo
INNER JOIN treetable bar ON foo.id_bar = bar.id
INNER JOIN treetable bar2 ON bar.id_bar = bar2.id
INNER JOIN treetable bar3 ON bar2.id_bar = bar3.id
WHERE
<constraints>
bar.id_bar IS NULL かどうかを尋ねる OR ステートメントを追加することで INNER JOIN 条件を拡張できることを読みましたが、それを行うとそれ以上のレベルに到達できません。
SELECT DISTINCT <valuesThatINeed>
FROM atable foo
INNER JOIN treetable bar ON foo.id_bar = bar.id
INNER JOIN treetable bar2 ON bar.id_bar = bar2.id OR (bar.id_bar IS NULL)
INNER JOIN treetable bar3 ON bar2.id_bar = bar3.id
WHERE
<constraints>