0

隣接リスト モデルを使用して表す階層データがあります。

TABLE
    ID
    parentID
    title

各ノードの直接の子の数を選択する最も簡単な方法は何ですか? 可能であれば、これを単一の選択で実行して、次のような結果セットを生成したいと思います...

RESULTS...
ID     title     childCount
1      test1     10
2      test2     2
3      test3     0
etc...

アドバイスありがとうございます!

4

2 に答える 2

0

タイトルなしで、

SELECT parentID as ID, COUNT(ID) AS childCount
  FROM Table
  GROUP BY parentID

タイトルが必要な場合は、自己結合が必要だと思います(おそらくかなり遅くなります):

SELECT t1.ID as ID, t1.Title as Title, COUNT(t2.ID) as childCount
  FROM Table t1
  LEFT OUTER JOIN Table t2
  ON t1.ID = t2.parentID
于 2010-06-15T03:18:02.917 に答える
0

アレックスは「Group By t2.parentID」を忘れたと思います

また、試すことができます:

SELECT t1.ID as ID, t1.Title as Title, COUNT(t2.ID) as childCount 

FROM テーブル t1 INNER JOIN テーブル t2 ON t1.ID = t2.parenID GROUP BY t2.parentID

于 2010-09-01T16:02:03.110 に答える