我想申請頁面或限制CTE的記錄,但不是在它的方式,一般建議這樣SQL - 尋呼遞歸CTE而不是在傳統的方式
;WITH children AS
(
SELECT Item, Parent
FROM #TempHeirarchy
UNION ALL
SELECT e.Item, e.Parent
FROM #TempHeirarchy e
INNER JOIN children e2
ON e.Parent = e2.Item
)
select * into #TempFinal
from (select row_number() over(order by parent asc) as RowNumber, * from children) t
where t.RowNumber between 1 and 10
但這種方式是先申請遞歸到所有記錄,然後應用分頁,因此即使我僅獲取10條記錄,也需要很長時間才能完成此操作。
是不是有什麼辦法,我可以完全停止遞歸時CTE解析的記錄數達到10個記錄?
如果這是不可能的,那麼有沒有任何其他方式在那裏我可以生成家長兒童的數據,當它到達頁面大小停止?
我沒有看到第一個選擇的位置或過濾條件。 –
我沒有任何條件。如果我在第一個查詢本身限制記錄,它不會獲取實際水平 –
那麼如何確定每個組的最頂級父項?根據定義,層次結構有一個起點。 – xQbert