DB2递归查询又称为树查询,是DB2数据库中非常重要的查询方式,下面就为您详细介绍DB2递归查询相关的知识,供您参考学习。
【数据结构】
process_id par_process_id fw_id
742482939 414358129 471
414358129 1707251033 470
1707251033 null 468
【DB2递归查询父process_id】
with par (process_id,par_process_id) as
(
select process_id,par_process_id from docm_process_ts a where fw_id='471'【1】
union all
select child.process_id,child.par_process_id from par ,docm_process_ts child where par.par_process_id=child.process_id 【2】
)
select process_id,par_process_id from par where par.par_process_id is null 【3】
【1】这条SQL语句是初始化,只执行一次,执行结果存在虚表中作为种子传递给【2】
【2】递归从虚表par 跟 docm_process_ts 表进行条件查出数据
【3】这条SQL语句是最终要查询的结果