以下是使用Oracle查询申请人的直接上级,并且直接上级的安全级别小于30的直接上级的直接上级的SQL查询示例:

WITH recursive_hierarchy AS (
  SELECT applicant_id, supervisor_id, security_level
  FROM your_table
  WHERE applicant_id = :applicant_id
  UNION ALL
  SELECT your_table.applicant_id, your_table.supervisor_id, your_table.security_level
  FROM your_table
  INNER JOIN recursive_hierarchy ON your_table.applicant_id = recursive_hierarchy.supervisor_id
  WHERE your_table.security_level < 30
)
SELECT applicant_id, supervisor_id, security_level
FROM recursive_hierarchy
WHERE security_level >= 30;

请确保将"your_table"替换为实际的表名,并将":applicant_id"替换为实际的申请人ID。此查询使用递归CTE(公共表达式)来逐级查找直接上级,直到找到安全级别大于等于30的直接上级为止。最后,返回直接上级的申请人ID、直接上级ID和安全级别


原文地址: http://www.cveoy.top/t/topic/ixJo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录