2
我想(使用CTE)以这种方式计算表儿童必须在母公司层面数量,包括他们的孩子所有儿童的。有没有样品可用?SQL CTE计数孩子的递归
我想(使用CTE)以这种方式计算表儿童必须在母公司层面数量,包括他们的孩子所有儿童的。有没有样品可用?SQL CTE计数孩子的递归
CREATE TABLE t_parent (id INT NOT NULL PRIMARY KEY, parentID INT NOT NULL)
INSERT
INTO t_parent
VALUES (1, 0)
INSERT
INTO t_parent
VALUES (2, 1)
INSERT
INTO t_parent
VALUES (3, 1)
INSERT
INTO t_parent
VALUES (4, 2)
INSERT
INTO t_parent
VALUES (5, 1)
INSERT
INTO t_parent
VALUES (6, 5)
INSERT
INTO t_parent
VALUES (7, 5);
WITH q AS
(
SELECT id, parentId
FROM t_parent
UNION ALL
SELECT p.id, p.parentID
FROM q
JOIN t_parent p
ON p.id = q.parentID
)
SELECT id, COUNT(*)
FROM q
GROUP BY
id
@KM:使用向下滚动:) – Quassnoi 2010-02-03 12:56:24
咄!!!!!!!!!!!!!!! – 2010-02-03 13:21:55
谢谢你,你的解决方案工作,所以我给它我的投票。 – kannankeril 2015-09-07 04:50:47