递归查询的实现方式
with recursive t(monthly_amt) as (
values(1)
union all
select
monthly_amt
from dm.dm_xxxxxx
where area = 'jp'
)
select
sum(monthly_amt)
from t ;
查询树结构
以下查询返回ID为2的经理的所有下属:
WITH RECURSIVE subordinates AS (
SELECT
employee_id,
manager_id,
full_name
FROM
employees
WHERE
employee_id = 2
UNION
SELECT
e.employee_id,
e.manager_id,
e.full_name
FROM
employees e
INNER JOIN subordinates s ON s.employee_id = e.manager_id
) SELECT
*
FROM
subordinates;