SQL Server CTE -Find top parentID forEach childID?

后端 未结 9 1088
Happy的楠姐
Happy的楠姐 2020-12-08 08:24

I have a table which contains hierarchy data - something like:

childID  |  parentID
____________________
  1      |     5
  5      |     9
  9      |     20         


        
9条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-12-08 08:53

    select distinct 
           a.ChildID,a.ParentID,
           --isnull(nullif(c.parentID,b.parentID),a.parentID) as toppa,
           B.parentID
           --,c.parentID
          ,isnull(nullif(d.parentID,a.parentID),c.parentID) as toppa1,a.name
    from myTable a
       inner join myTable c
           on a.parentID=c.parentID
       inner join myTable b
           on b.childID=a.parentID
       inner join myTable d
           on d.childID=b.parentID
    

提交回复
热议问题