首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取父级的所有子层次结构

获取父级的所有子层次结构
EN

Stack Overflow用户
提问于 2014-07-31 06:08:56
回答 2查看 653关注 0票数 1

我有一张桌子employeehierarchy,里面有很多记录。我想把所有的记录都拿来。

在这个表中,安硕是最高级的员工,我想得到所有初级雇员的名字,比如Yogesh,Chirag,Vimal和Ajay。

代码语言:javascript
复制
|   Id    |           name           |    | Senior     |    |  |  |  |  |
+---------+--------------------------+----+------------+----+--+--+--+--+
|      14 | Anshul                   |    |          0 |    |  |  |  |  |
|      15 | Yogesh                   |    |         14 |    |  |  |  |  |
|      16 | Chirag                   |    |         15 |    |  |  |  |  |
|      17 | Vimal                    |    |         16 |    |  |  |  |  |
|      18 | Ajay                     |    |         17 |    |  |  |  |  |

为了实现这一点,我需要一个mysql查询。谢谢

EN

回答 2

Stack Overflow用户

发布于 2015-11-25 13:06:17

希望这能帮上忙,

代码语言:javascript
复制
    SELECT  @id :=
        (SELECT  Id
        FROM    employeehierarchy
        WHERE   Senior = @id
        ) AS employee
FROM    (
        SELECT  @id := 14
        ) vars
STRAIGHT_JOIN
        employeehierarchy
WHERE   @id IS NOT NULL;
票数 1
EN

Stack Overflow用户

发布于 2014-07-31 06:33:24

您需要在数据库中添加一些东西,以便在高级员工和初级员工之间建立关系。不幸的是,您如何实现这种关系超出了这个问题的范围。因为这涉及到数据库体系结构的更多内容。一种选择是在现有表中为每个员工创建一个新字段,该字段保存高级员工的id。另一种选择是有一个单独的表,其中您有三个字段id、employee id和高级id。

我建议第二种选择。然后,您可以在SQL中建立一个条件联接。

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

https://stackoverflow.com/questions/25051884

复制
相关文章

相似问题

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