如何在 sql 中找到 parent 和 child 关系
How to find the parent and child relation in sql
我有如下数据并试图获得 parent 所用时间的总和。
输入
ID_P ID_C SLA FL
1 2 0.2 Y
2 3 0.5 N
3 4 0.5 N
8 9 1.5 Y
9 10 0.1 N
10 0.2 N
预期产出
ID_P Sum(SLA)
1 1.2
8 1.8
有人可以帮我 SQL。
您可以使用递归查询。这个想法是从 parent 行开始 - 据我了解您的数据,这些行用 fl
列标识。然后您可以点击 children 的链接。最后一步是聚合:
with cte as (
select idp_p, id_c, sla from mytable where fl = 'Y'
union all
select c.id_p, t.id_c, t.sla
from cte c
inner join mytable t on t.id_p = c.id_c
)
select id_p, sum(sla) as sum_sla from cte group by id_p
我有如下数据并试图获得 parent 所用时间的总和。
输入
ID_P ID_C SLA FL
1 2 0.2 Y
2 3 0.5 N
3 4 0.5 N
8 9 1.5 Y
9 10 0.1 N
10 0.2 N
预期产出
ID_P Sum(SLA)
1 1.2
8 1.8
有人可以帮我 SQL。
您可以使用递归查询。这个想法是从 parent 行开始 - 据我了解您的数据,这些行用 fl
列标识。然后您可以点击 children 的链接。最后一步是聚合:
with cte as (
select idp_p, id_c, sla from mytable where fl = 'Y'
union all
select c.id_p, t.id_c, t.sla
from cte c
inner join mytable t on t.id_p = c.id_c
)
select id_p, sum(sla) as sum_sla from cte group by id_p