【发布时间】:2010-04-28 05:59:05
【问题描述】:
任何人都可以给我查询以获取孩子的名字和他的祖父的名字例如 - 如果我有一个表关系在我有 childid 和 Fatherid 列那么我将如何得到祖父,
我可以通过使用连接轻松获得父亲的名字,但对于祖父,我需要进行 2 次连接,所以任何人都可以帮我解决这个问题
D.马赫什
【问题讨论】:
标签: sql-server self-join
任何人都可以给我查询以获取孩子的名字和他的祖父的名字例如 - 如果我有一个表关系在我有 childid 和 Fatherid 列那么我将如何得到祖父,
我可以通过使用连接轻松获得父亲的名字,但对于祖父,我需要进行 2 次连接,所以任何人都可以帮我解决这个问题
D.马赫什
【问题讨论】:
标签: sql-server self-join
只需添加一个类似于您已有的附加连接。
select grandparent.name, child.name
from Relationships child
inner join Relationships parent
on child.parentid = parent.id
inner join Relationships grandparent
on parent.parentid = grandparent.id
【讨论】:
我认为它可以通过如下的单一连接来实现-
select t2.fatherid as grandfather
from table1 as t1
inner join table1 as t2 on t1.fatherid=t2.childid
where t1.childid='grandson_id';
【讨论】: