再帰的な階層 (つまり、ID、ParentID) を持つテーブルがあります。この階層内の任意のアイテムについて、各行のレベルとともに、階層を上下に移動するすべてのリストを戻すことができるようにしたいと考えています。親が持つことができる子は 1 人だけであると仮定します。
たとえば、次のようにします。
ID ParentID
--------------
1 NULL
2 1
3 2
4 NULL
5 4
6 5
ID 1、2、または 3 を指定すると、次のものが返されます。
ID ParentID Level
-----------------------
1 NULL 1
2 1 2
3 2 3
私は以前にこれをやったことがありますが、方法を思い出せません。ソリューションに CTE が含まれていることはわかっていますが、正しく理解できません。どんな助けでも大歓迎です。