Teradata 递归的实现,
今天使用了递归输出一个棵树,sql如下。
WITH RECURSIVE temp_table (DIM_VALUE_ID,DIM_VALUE_NAME,depth) AS
(SELECT root.DIM_VALUE_ID,root.DIM_VALUE_NAME, 0 as depth
FROM TAP_C_GRP_DIM_VALUE root
WHERE root.PAR_DIM_VALUE_ID = '-1' and root.STATISTICS_TYPE_ID = 0
UNION ALL
SELECT indirect.DIM_VALUE_ID,indirect.DIM_VALUE_NAME,direct.depth + 1 AS newdepth
FROM temp_table direct, TAP_C_GRP_DIM_VALUE indirect
WHERE direct.DIM_VALUE_ID = indirect.PAR_DIM_VALUE_ID and indirect.STATISTICS_TYPE_ID = 0
)
SELECT DIM_VALUE_ID,DIM_VALUE_NAME,depth FROM temp_table order by DIM_VALUE_ID;
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。