【发布时间】:2014-04-22 06:29:44
【问题描述】:
我有一个基本的 SQL 表,每行之间有一个简单的层次结构连接。也就是说,每一行都有一个 ParentID,并使用它与另一行连接。如下
AccountID | AccountName | ParentID
---------------------------------------
1 Mathew 0
2 Philip 1
3 John 2
4 Susan 2
5 Anita 1
6 Aimy 1
7 Elsa 3
8 Anna 7
.............................
.................................
45 Kristoff 8
希望结构清晰
但我列出这些的要求有点奇怪。也就是说,当我们传递一个 AccountID 时,它应该列出它的所有父母和兄弟姐妹以及孩子的兄弟姐妹。但它永远不会将该 AccountID 的任何子项列出到任何级别。我可以用一张图片更详细地解释一下。抱歉图片的清晰度..我的是旧手机摄像头..
当我们传递 AccountID 4 时,它应该列出所有父母及其兄弟姐妹,但它不应该列出 4、6、7、8、9、10。这意味着应在结果中避免帐户及其任何子项(基于图片树元素)。希望解释清楚。
【问题讨论】:
-
还应该显示 5,11,12,... - 没有 4,6,7,8,9,10 的整个表吗?还是只有 4 - 2,1 的父母?
-
@valex 是的.. 正是.. 我提到的就是它的兄弟姐妹和他们的孩子以及它的所有父母..
标签: sql sql-server