SQL Server 2008 R2 - 选择分层数据

Ela*_*hmi 7 sql-server performance sql-server-2008-r2

我在SQL Server中有一个表,它包含类别和子类别.它们通过ID和之间的关系连接起来PID.

顶级项目的a PID为0,其他行PID的父项为.

获取此数据的最有效方法是什么?

对此的简单算法是遍历父项列表,然后在不同的查询中获取每个父项的子项(针对数据库或数据集).

是否有任何内置于框架中的方法来支持更好的方法?能让我轻松绑定到转发器(或其他数据控件)的东西.

Mar*_*ith 8

假设至少SQL Server 2005我会对递归公用表表达式使用单个查询.