【发布时间】:2014-07-01 05:43:32
【问题描述】:
我有一个父子关系表,如下所示。我想像所有祖先和父母一样检索父母或孩子ID的所有记录,如果可能的话,还有深度。 例如,我想查找 D 的家族,它将返回前 14 行,因为它们都属于同一个家族。 可能有几组这样的家庭。我想与一位成员一起查询,并希望获得全家记录。是否可以使用 CTE 来实现? 根据表格记录的家庭结构:
A
/ \
B C G J
/ \ / \ / \
M D E H K
/ \ / \ / \
N F I L
R
|
S U
\ /
T
请帮忙。 表格是这样的:
Parent Child
------ ------
A B
A C
B D
D F
M F
M N
C E
G E
G H
J H
J K
H I
K I
K L
R S
S T
U T
谢谢,
喜马拉雅
【问题讨论】:
-
我知道可以使用递归查询检索所有直系后代。我很想知道是否有人对这样的任意父/子关系的完整图表有解决方案。
-
循环图 :) 我最近遇到了这种性质的问题。随着
rCTE的进展,我被困在有效地记录游览\遍历历史(并查询它)上。按照此处的建议使用WHILE循环登陆:hansolav.net/sql/graphs.html - 将密切关注这篇文章,看看它会发生什么。
标签: sql tsql sql-server-2005 graph common-table-expression