案例:表T_PERSON 有三個字段(id,parentid,name),其中parentid指上級id,name表示姓名;
現在想得到某上級用戶和他對應的下級用戶;
解決方法:利用迭代;
代碼:
WITH RPL (id,parentid,name) AS
(
SELECT ROOT.id, ROOT.parentid,ROOT.name
FROM T_Person ROOT
WHERE ROOT.id='00001'
UNION ALL
SELECT CHILD.id, CHILD.parentid,CHILD.name
FROM RPL PARENT, T_Person CHILD
WHERE PARENT.id = CHILD.parentid
)
SELECT DISTINCT id, parentid,name
FROM RPL
ORDER BY id,name