5

テーブルには、列 ID、Title、および ParentID があります。ParentID は、親と見なされる同じテーブル内のエントリの ID に使用されます。したがって、ParentID が NULL であるエントリは、それ自体が親です。

各親を繰り返し処理し、その下に子をリストするクエリが必要です(理想的には、ハイフンまたは従属を示す何かを使用して)、これを行う方法や正しい方向に向ける方法を知っている人はいますか?

(私はT-SQLを調べて、同様のオンラインの質問をたくさん読みましたが、私のSQLはそれを理解するのに十分なほど鋭くないので、いくつかの指針を大いに感謝します!)

4

2 に答える 2

3

はい、どうぞ!

WITH n(ID, Title) AS 
                    (SELECT ID, Title
                    FROM YourTable
                    WHERE ID = (SELECT TOP 1 ID FROM YourTable WHERE ParentID IS NULL)
                    UNION ALL 
                    SELECT nplus1.ID, nplus1.Title
                    FROM YourTable as nplus1, n 
                    WHERE n.ID = nplus1.ParentID) 
                    SELECT ID, Title FROM n
于 2012-07-30T12:33:43.143 に答える