【发布时间】:2015-06-15 03:08:25
【问题描述】:
我需要一些有关 SQL 代码的帮助。我有 2 个表,第一个是表名
NameID Name
1 John
2 Paul
3 Jessica
4 Nancy
5 Sam
6 Jane
7 Jimmy
第二个是table Family
FamilyID NameID ChildID
1 1 2
2 1 3
3 2 4
4 3 5
5 3 6
6 5 7
表 Family 中的字段“NameID”和“ChildID”连接到表 Name 中的字段“NameID”。所以如果我把它放在树上它会是这样的
John
/ \
Paul Jessica
/ / \
Nancy Sam Jane
/
Jimmy
我需要的是 SQL 代码,它可以为某些记录找到“所有”父母。例如:
- 我想了解 Jane 的所有父母,结果将是:Jessica, 约翰
我想了解 Jimmy 的所有父母,结果将是:Sam, 杰西卡,约翰
我想了解 Nancy 的所有父母,结果将是:Paul, John
【问题讨论】:
-
能否请您包含您尝试过的查询?
-
其实我还在用 cte recursive 处理它,但还没有完成
-
你的意思是所有的祖先?这就是示例 #2 所建议的。我会做 CTE。
-
@PeterWone 是的,如果您对我的话感到困惑,您可以说“所有祖先”对不起。我是使用 CTE 的新手,所以我需要一些帮助 :)。
-
您使用的是哪个数据库服务器?甲骨文?
标签: sql sql-server sql-server-2008