SQL顶级父记录我有一个表结构:在层次
CompanyID,公司名称,LinkedCompanyID
使多个企业能在一个层次链接
例如
CompanyID, CompanyName, LinkedCompanyID
1 Company A, NULL
2 Company B, 1
3 Company C, 2
4 Company D, 2
5 Company E, 4
6 Company F, 3
7 Company G, NULL
我想查询返回每个公司
即
CompanyID, CompanyName, ToplevelParentID
1 Company A, NULL (or 1 I don't mind)
2 Company B, 1
3 Company C, 1
4 Company D, 1
5 Company E, 1
6 Company F, 1
7 Company G, NULL (or 7 I don't mind)
我在使用recusive CTE表达式采取一脸的顶级父,但所有的例子我可以从父母而不是最上面的父母中找到返回分层列表。
大家能否请提供任何指针或样本查询
强烈建议:添加一个字段跟踪“顶级容器”。我在类似的场景中做了这些(并且一些intent knwdes是他们自己的容器 - 例如CMS:folter被结构化为文档,这是一个容器,然后是文档中的结构,这使得更容易。 – TomTom 2012-02-09 13:13:24