Heim >Datenbank >MySQL-Tutorial >WITH子句的递归查询

WITH子句的递归查询

WBOY
WBOYOriginal
2016-06-07 14:56:421641Durchsuche

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
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn