SQL每日一题(20211109)
SQL每日一题(20211216)
SQL每日一题(20220512)
WITH A AS (SELECT B.*
FROM (SELECT T.*, LEVEL LV FROM T0219 T START WITH T.PARENT_PTR = 0 CONNECT BY PRIOR T.RKEY = T.PARENT_PTR) B
WHERE B.LV = 3)
SELECT t1.*
FROM T0219 t1
left JOIN a ON t1.rkey = a.rkey
START WITH lv = 3
CONNECT BY PRIOR t1.parent_ptr = t1.rkey
with recursive cte as (select RKEY, Type, cast('0' as char(255)) as path
from T0219
where PARENT_PTR = 0
union all
select a.RKEY, a.Type, concat(a.RKEY, '->', b.path)
from T0219 as a
inner join cte as b on a.PARENT_PTR = b.RKEY)
select *
from cte;