我有一张表,其中包含以下方式相关的记录:数据库表中的嵌套数据
父母,子女,孙子女。
我想能够运行查询,做到以下几点:
- 检索是 从一个特定的记录下来的所有记录
- 检索的特定记录的直接 儿童的所有记录 (即只直接孩子)
- 检索的特定记录的 孙子 (即只孙子)的所有记录
- 检索记录的祖父母
- 检索记录
- 检索所有的记录(以及他们的 子女和孙子女)
我想这个查询的排序方式返回数据的父母,所以我可以创建一个结构化的文件(例如来自查询结果的XML)。通过“分类”,我的意思是结果集“分组”,由家长THEN孩子,那么孙子
我设计了一个简单的表像这样的(伪代码):
CREATE TABLE family_tree {id integer
, parent_id integer
, child_id integer
, fname varchar(16)
, lname varchar(32) };
我有多少问题:
(在心中的疑问我想运行轴承[(1) - (6)以上)是这是最好的(即最有效的表结构如果没有我可以使用?,什么是?
任何人都可以帮我编写ANSI SQL语句来执行上面的查询(1) - (6)吗?
ID,parentId的应sufficiant。你使用SQL Server 2005 +? – 2009-09-28 10:07:36
搜索,以便像‘套组’和‘分层数据’,你会发现很多东西条款。 – markus 2009-09-28 10:10:01
您正在使用什么数据库?Oracle有分层查询(CONNECT BY) – Thilo 2009-09-28 10:11:40