2011-12-29 96 views
0

我正在尝试查找相关表中的记录数,但父表中包含递归关系,而且我似乎只能获得相关的计数记录在树的底部,我需要与当前记录相关的所有记录以及它的子记录的总数。使用SQL Server查找子记录中所有相关记录的总数

我已经尝试过使用公用表表达式来做到这一点,然而无论何时将计数函数添加到查询中,我都会收到一个错误,指出'GROUP BY,HAVING或聚合函数不允许在递归的递归部分公用表格表达'。

我一直在为此挠头,已经有一段时间了,可能最终会编写一个C#函数来做到这一点,但我想知道如果任何人有任何想法如何在SQL中实现这一点。

感谢

+3

我非常肯定它可以使用普通的SQL,但至少可以提供帮助,您应该发布模式定义,最好是一些测试数据和所需的结果。 – 2011-12-29 12:45:51

回答

1

尝试select count(*) from cte在CTE定义的递归关系,但不会尝试任何聚集本身。