阿錄幫幫忙—db2,sqlserver迭代用法

案例表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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章