我目前正在導出查詢從Oracle到PostgreSQL,和我被困在這一個是用來目錄排序:PostgreSQL的:按名稱順序多層次結構後排序
WITH RECURSIVE R AS (
SELECT ARRAY[ID] AS H
,ID
,PARENTID
,NAME
,1 AS level
FROM REPERTORIES
WHERE ID= (SELECT Min(ID) FROM REPERTORIES)
UNION ALL
SELECT R.H || A.ID
,A.ID
,A.PARENTID
,A.NAME
,R.level + 1
FROM REPERTORIES A
JOIN R ON A.PARENTID = R.ID
)
SELECT NAME
,ID
,PARENTID
, level
FROM R
ORDER BY H
它的部分工作,每個子目錄都放在他的父目錄或共享相同父目錄的目錄之後(一個目錄可以有子目錄,子目錄也有子目錄等等)
但我還需要排序處於同一級別的目錄他們的名字(當然,他們的子目錄在他們的旁邊)
我該如何做到這一點?
在此先感謝(如果我的英語又硬又遺憾地理解)
編輯:這裏是orignial Oracle查詢:
SELECT NAME, ID, PARENTID, level
FROM REPERTORIES
CONNECT BY PRIOR ID = PARENTID
START WITH ID = (SELECT Min(ID) FROM REPERTORIES)
ORDER SIBLINGS BY NAME
它說我「在遞歸查詢ORDER BY沒有植入」,我試圖這樣做:/ – Dryster