访问嵌套父属性

时间:2014-08-27 22:24:35

标签: mysql sql database

我相信这是SQL的一个相对基本的功能,但不幸的是,我没有考虑到它是如何完成的,或者它将被称为什么。

基本上,在我目前的数据库中,我们有区域,它们是区域的一部分,它们是区域的一部分,构成一个区域。

沿着这条链,每个父母只有下一个父母的ID,但是,我想生成一个包含所有区域的表格,其中每个区域都有区域,区域和区域的ID列。 #39;的一部分。那我该怎么写这个查询呢?

2 个答案:

答案 0 :(得分:0)

Oracle提供分层查询,您可以在其中说出类似

的内容
 SELECT parent, child, LEVEL 
   FROM table
  START WITH parent IS NULL
CONNECT BY PRIOR child = parent

START WITH条件标识层次结构的根,CONNECT BY PRIOR子句标识如何遍历层次结构。

遗憾的是,MySQL并没有这种能力。

答案 1 :(得分:0)

好吧,劳伦斯(在评论中)回答正确,我似乎已经退出SQL游戏了一段时间。

所以简单的答案是:

SELECT child.id as ChildID, parent.id as ParentID, grandparent.id as GrandparentID
FROM child JOIN parent JOIN grandparent
WHERE child.parentID = parent.id AND parent.parentID = grandparent.id

感谢所有没有铁杆的人投下这个可怕的问题。