首页 > 数据库 >SQL递归根据下拉框去获取申请人的上级

SQL递归根据下拉框去获取申请人的上级

时间:2023-09-26 10:48:39浏览次数:37  
标签:递归 下拉框 CTE 申请人 SQL managerid id

场景:

表单有下拉框,对应三个层级。

下一节点的办理人需要根据这个层级去获取申请人对应的上级。

 

解决思路:

用SQL公共表达式cte递归可以作为一个获取思路:

 with CTE as (select lastname,id,managerid from hrmresource where id = 2422

UNION ALL select a.lastname,a.id,a.managerid from hrmresource a inner JOIN CTE b on a.id=b.managerid  )select  lastname,id from CTE 
option (maxrecursion 2)

 

 

2422是申请人ID

maxrecursion 2  哪里的2是递归层级。

刚好对应下拉框的012

他会把申请的人所有上级全部查询出来,用order by 排序,然后用top 去取

标签:递归,下拉框,CTE,申请人,SQL,managerid,id
From: https://www.cnblogs.com/stfzhuang/p/17729581.html

相关文章

  • centos安装php扩展mssql
    注意:1、server-dsn是数据源,事先在freetds.conf配置好的[server-dsn]    host=192.168.10.125    port=1433    tdsversion=8.0clientcharset=UTF-8开始安装1、输入安装命令 自动先安装freetds安装包sudo yum install php-mssql -ysudo ......
  • Linux系统之安装MySQL8.0版本
    一、MySQL介绍1.1MySQL简介MySQL8.0是最新版本的MySQL数据库管理系统,是一种关系型数据库管理系统,由Oracle公司开发和维护。MySQL8.0带来了一系列新特性,包括多个性能提升,更好的安全性和扩展性,以及新的管理功能。1.2MySQL特点更好的性能:MySQL8.0提供了对于大型查......
  • Windows 安装并配置 MySQL 5.7
    Windows安装并配置MySQL5.7 Windows下安装MySQL有两种方式:下载安装包,根据向导提示一步步安装,不需要什么配置,比较简单下载压缩包,通过命令来安装和配置本文介绍第二种安装方法,使用的MySQL版本为5.7.38假设你已经下载了MySQL压缩文件安装包(官网下载地址:https://www.mysql.......
  • mysql 获取最近6个月的年月
      @s< 5 控制多少个月  SELECT DATE_FORMAT(DATE_SUB(CURDATE(),INTERVAL@s:=@s+1MONTH),'%Y-%m')AS`mon` FROM mysql.help_topic, (SELECT@s:=-1)temp WHERE @s<5 ORDERBYmon......
  • PostgreSQL Serial
    概念描述PostgreSQL中的SERIAL是一种特殊的类型,用于创建自增长的整数列,通常用作表的主键或其他需要唯一标识的列。SERIAL实际上不是真正的类型,而是一种便捷的写法,它会自动创建一个SEQUENCE对象,并将该SEQUENCE的下一个值作为该列的默认值。PostgreSQLSERIAL是一种特殊的用于生产整......
  • MySQL索引原理
    入驻博客园的第一篇博客,希望能够将知识点解释清楚,有些地方可能有一些啰嗦,望见谅。(本文为转载,转载地址文末,自己加了一些结构上的调整) 一、几种树的介绍首先介绍几种树的数据结构:二叉搜索树(BST)、平衡二叉树、B树、B+树1.1二叉搜索树二叉搜索树具有以下性质:(1)......
  • MYSQL数据库SQL-删除
    1、deleteDelete删除表数据,保留表结构,且可以加where,删除一行或多行支持回滚操作既可以删除表也可以删除视图,truncate只能删除表不能删除视图(1)删除某张表中某个字段为'xxx'的行deletefrom表名where字段名='xxx'(2)删除整张表deletefrom表名不跟where条件时删......
  • 在哪里可以找到MySQL容器的官方镜像
    如果您在容器上部署MySQL,那么首要任务之一就是找到正确的镜像。有一定程度的混乱,尤其是当我们试图帮助部署有问题的人时。例如,当人们说我使用的是官方的docker镜像…这到底意味着什么?DockerHub,提供他们的官方形象(https://hub.docker.com/_/mysql),但这不是我们Oracle的MySQL团......
  • MySQL远程登录提示Access denied的场景
    厂商给的某个MySQL库,通过客户端远程登录,提示这个错误,Accessdeniedforuser'用户名'@'IP'(usingpassword:YES)确认输入的账号密码都是正确的,出现这个错误说明端口是通的。此时可以检索mysql.user,如果待登录账号的记录host字段是localhost,说明仅允许本地登录,禁止远程登录,[mysql......
  • MySQL中索引创建错误的场景
    同事反馈说某个MySQL数据库创建索引提示错误,模拟报错如下,CREATEINDEXt_reg_code_idxUSINGBTREEONt(reg_code)BLOB/TEXTcolumn'reg_code'usedinkeyspecificationwithoutakeylength从这个提示,可以知道是给T表的reg_code字段创建一个BTREE索引,而这个reg_code列的字段......