我有如下記錄:遞歸CTE ......處理嵌套的父母/子女記錄
我的目標是檢查孩子的總和爲每個父,並確保它是1(或100%)。
在上面的例子,你有一個第一父:
它有2個孩子:
兒童(現在的父母)12484有子12486。這裏的孩子(12486)的比例是0.6(這不是100%)。這是不正確的。
孩子(現在的父母)12485有孩子12487.這裏的孩子(12487)的百分比爲1(或100%)。還行吧。
我需要總結每個嵌套的孩子的百分比,並獲得該值,因爲它不會達到100%,那麼我必須顯示一條消息。我很難爲此提出查詢。有人能幫我一把嗎?
這就是我試過的,我得到了「聲明終止了,最大遞歸100在聲明完成之前已經用盡了。」錯誤信息。
with cte
as (select cp.parent_payee_id,
cp.payee_id,
cp.payee_pct,
0 as level
from dbo.tp_contract_payee cp
where cp.participant_id = 12067
and cp.payee_id = cp.parent_payee_id
union all
select cp.parent_payee_id,
cp.payee_id,
cp.payee_pct,
c.level + 1 as level
from dbo.tp_contract_payee cp
inner join cte c
on cp.parent_payee_id = c.payee_id
where cp.participant_id = 12067
)
select *
from cte