首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从树状结构返回父id

从树状结构返回父id
EN

Stack Overflow用户
提问于 2014-10-22 11:59:43
回答 2查看 351关注 0票数 1

我试图获取与父级相关的所有子ids (多个级别)。我认为使用递归可以达到这个目的,在尝试了查询之后--它没有返回预期的结果--我甚至不确定这是否是解决这个问题的方式,也不确定我的问题出在哪里。

预期结果是返回指定地点的所有市县。

例如,如果我传递给英格兰的id (id=1),我想返回与它相关的所有id。它可以达到4-5级的联系。

例如

代码语言:javascript
复制
Id      Location
-----  ---------------
1      England
3      London            (as its associated with England)         
5      Ealing            (as associated with London)
6      Westminster       (as associated with London)
7      Camden            (as associated with London)
8      Barnet            (as associated with London)

。。。

SQL示例

有人能告诉我如何解决这个问题吗?这是处理这个问题的正确方法吗?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-22 12:44:08

你在朝正确的方向前进。

考虑一下我所取得的成果:

代码语言:javascript
复制
;WITH locationFamily AS
(
    SELECT   id
            ,location_name 
            ,parent_id
            ,0 as level
    FROM location
    WHERE parent_id IS NULL
    and id = 1
    UNION ALL 
    SELECT   ls.id
            ,ls.location_name 
            ,ls.parent_id
            ,level + 1
    FROM location   ls
    INNER JOIN locationFamily  lf ON ls.parent_id= lf.id
)
SELECT *
FROM locationFamily 

将id条件移动到CTE中的第一个选择,更改id连接的别名。

票数 0
EN

Stack Overflow用户

发布于 2014-10-22 12:10:44

本教程很好地概述了如何在sql中存储层次数据。

http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/

最初来自于这个问题:如何在mySQL表中表示树结构

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26506978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档