有一个像这样的表:
ID ParentID Name
1 0 Раздел 1
2 0 Раздел 2
3 0 Раздел 3
4 1 Раздел 4
5 1 Раздел 5
6 4 Раздел 6
7 2 Раздел 7
8 2 Раздел 8
9 3 Раздел 9
10 2 Раздел 10
11 2 Раздел 11
12 11 Раздел 12
13 6 Раздел 13
14 6 Раздел 14
15 9 Раздел 15
16 9 Раздел 16
17 9 Раздел 17
18 9 Раздел 18
19 17 Раздел 19
20 19 Раздел 20
如何选择所有部分并计算其所有节点中的子节点数(按其分支)?
WITH rec4 (id, pid, name)
AS
(
SELECT id, parentID, name
FROM parent
WHERE id = 1
UNION ALL
SELECT p.id, p.parentID, p.name
FROM parent AS p
JOIN rec4 AS r ON p.parentID = r.id
)
SELECT * FROM rec4 ;
这显示了只有一个父母的孩子。如何全选并显示他们的号码?
https://dbfiddle.uk/?rdbms=sqlserver_2017&fiddle=be949ede1740a5bad81bcb201160e164