欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

WITH子句的递归查询

程序员文章站 2024-04-06 15:27:43
...

WITH子句的递归查询 无 WITH RPL AS(SELECT FId,FNumber,FName,FManagerIdFROM T_PersonWHERE FManagerId IS NOT NULL)SELECT FId,FNumber,FName,FManagerId FROM RPL WITH RPL(FId,FNumber,FName,FManagerId) AS(SELECT FOOT.FId,ROOT.FNumber,ROOT.FName,RO

WITH子句的递归查询
WITH RPL AS
(
SELECT FId,FNumber,FName,FManagerId
FROM T_Person
WHERE FManagerId IS NOT NULL
)
SELECT FId,FNumber,FName,FManagerId FROM RPL
WITH RPL(FId,FNumber,FName,FManagerId) AS
(
SELECT FOOT.FId,ROOT.FNumber,ROOT.FName,ROOT.FManagerId
FROM T_Person ROOT
WHERE ROOT.FId='00001'
UNION ALL
SELECT CHILD.FId,CHILD.FNumber,CHILD.FName,CHILE.FManagerId
FROM RPL PARENT,T_Person CHILD
WHERE PARENT.FId=CHILD.FManagerId
)
SELECT DISTINCT FId,FNumber,FName,FManagerId
FROM RPL
ORDER BY FManageId,FId,FNumber,FName