用oreacle查询 申请人的直接上级当直接上级安全级别30时为直接上级的的直接上级至安全级别=30为止
以下是使用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 著作权归作者所有。请勿转载和采集!