如何在MySQL Select查询中使用递归

用户名

我有一个名为的MySQL表EmpList我想使用循环带来预期的结果。例如,EmpList有两列,


    EmpNo ReportingTo
    -------------------
    27 14
    68 14
    104 27
    105 27
    138 27
    139 68
    150 8
    151 8
    8 5

EmpNo作为查询的输入(例如:14)。我期待所有的人ReportingTo EmpNo14(例如:表中的27,68)以及子报表(如果有的话)(EmpNo分别是ReportingTo27和68(例如:104,105,138 ReportingTo27和139 ReportingTo68))。最后,我试图在单列中获得结果

    EmpNo
    ------
    27
    68
    104
    105
    138
    139

我正在尝试使用这样的查询获取结果

选择EmpNo
来自EmpList
汇报至IN(
  选择不同的EmpNo
  来自EmpList
  WHERE ReportingTo = 14
);

该查询仅给出一个级别(较低级别)的结果。输入值我正在基于登录动态获取。

塔塔

如果您仅需要2个级别-您的解决方案是联合,但对于更多级别-没有一个简单的方法可以在单个查询中完成。您始终可以尝试使用存储过程来检索此数据。

仅用于2级信息使用

SELECT EmpNo     
   FROM EmpList 
   WHERE ReportingTo=14 
UNION ALL
SELECT EmpNo
   FROM EmpList
   WHERE ReportingTo IN
       (SELECT DISTINCT EmpNo
            FROM EmpList
            WHERE ReportingTo = 14
       ); 

并且在Mysql中最好使用join而不是子查询,因此查询应为

SELECT EmpNo
 FROM EmpList
 WHERE ReportingTo =14
UNION ALL
SELECT l1.EmpNo
 FROM EmpList l1 join EmpList l2 on l1.ReportingTo=l2.EmpNo
 WHERE l2.ReportingTo =14;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在MySQL Select查询中使用递归

来自分类Dev

如何在Hive中使用递归查询

来自分类Dev

如何在PostgreSQL中使用递归查询连接字段值?

来自分类Dev

如何在MySQL查询中使用Regexp?

来自分类Dev

如何在 MySQL 查询中使用 INCLUDE?

来自分类Dev

如何在 MySQL 递归查询中求和

来自分类Dev

MySQL在SELECT子查询中使用变量

来自分类Dev

如何在Salesforce的SOQL查询中使用select *?

来自分类Dev

如何在SQL select查询中使用case语句

来自分类Dev

如何在雄辩的子查询函数中使用“ Select()”

来自分类Dev

如何在Salesforce的SOQL查询中使用select *?

来自分类Dev

如何在SELECT端的mysqli查询中使用PHP变量?

来自分类Dev

如何在python中使用SQLite SELECT查询

来自分类Dev

如何在SELECT查询中使用默认值?

来自分类Dev

如何在SELECT查询PDO中使用数组/内爆

来自分类Dev

如何在select查询中使用replace?(laravel 5.3)

来自分类Dev

如何在 SELECT 子句中使用子查询?

来自分类Dev

Mysql中的递归SELECT查询?

来自分类Dev

如何在MySQL中使用不同的参数更新查询

来自分类Dev

如何在MySql中使用sequelize运行多个原始查询?

来自分类Dev

如何在查询中使用别名以在mysql中创建条件

来自分类Dev

如何在PHP PDO中使用异步Mysql查询

来自分类Dev

如何在MYSQL查询中使用聚合函数联接表?

来自分类Dev

如何在生成的查询中使用MySQL COUNT()语句?

来自分类Dev

如何在Mysql PDO查询中使用通用参数

来自分类Dev

如何在MySQL查询中使用COUNT()函数返回行数?

来自分类Dev

如何在 MySQL 的 FROM 子句中使用子查询?

来自分类Dev

如何在mysql查询中使用foreach循环

来自分类Dev

如何在 joomla 查询中使用 mysql 变量

Related 相关文章

热门标签

归档