且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何使用相同的t-sql查找每个父节点的子节点数?

更新时间:2021-08-25 23:09:31

我已经在子表上使用cte和inner join解决了这个问题,如下所示:



I have solved the issue using cte and inner joining on the child table as under:

with cte1(colname1,colid1) As 
(
SELECT child.name as [Child], child.ID as [ID}
FROM table1 parent
INNER JOIN child ON parent.id = child.id
group BY parent.name, child.name
ORDER BY parent.name
)
,cte (tablename,colname,colid)as (
SELECT parent.name AS [Parent], child.name as [Child],child.ID as [ID}
FROM table parent
INNER JOIN child ON parent.id = child.id
group BY parent.name, child.name
ORDER BY parent.name
)
select DISTINCT cte.tablename, cte.colname, count(cte.colid) from cte
inner join cte1 on cte.colid = cte1.colid1
group by tablename,colname
ORDER by cte.tablename





谢谢所有人.....:)



Thanks all..... :)


在这里你会找到一个例子:具有公用表格表达式的层次结构 [ ^ ]
Here you'll find an example: Hierarchies WITH Common Table Expressions[^]