相关疑难解决方法(0)

获取树层次结构的CTE递归

我需要以特定的方式获得树的有序层次结构.有问题的表看起来有点像这样(所有ID字段都是uniqueidentifiers,为了示例,我简化了数据):

EstimateItemID    EstimateID    ParentEstimateItemID     ItemType
--------------    ----------    --------------------     --------
       1              A                NULL              product
       2              A                  1               product
       3              A                  2               service
       4              A                NULL              product
       5              A                  4               product
       6              A                  5               service
       7              A                  1               service
       8              A                  4               product

树形结构的图形视图(*表示"服务"):

           A
       ___/ \___
      /         \
    1            4
   / \          / \
  2   7*       5   8
 /            /
3*           6*

使用此查询,我可以获得层次结构(只是假装'A'是一个唯一标识符,我知道它不在现实生活中):

DECLARE @EstimateID uniqueidentifier
SELECT @EstimateID = 'A'

;WITH temp as(
    SELECT * FROM EstimateItem
    WHERE EstimateID = @EstimateID …
Run Code Online (Sandbox Code Playgroud)

sql-server common-table-expression

45
推荐指数
2
解决办法
7万
查看次数