我有以下CTE查询,无法弄清楚为什么行没有像我期望的那样排序。它命令州和县。我正试图让正确的子县在其父州之后出现。所以它应该是Alabama,Autauga,Alaska,Aleutians East。
我做错了什么?谢谢!
WITH Descendants AS
(
SELECT
p.Page, p.MetaDataID, 0 AS HLevel, p.ParentID, p.OrderNumber
FROM
dbo.MetaData p
WHERE
p.ParentID IS NULL
UNION ALL
SELECT
p.Page, p.MetaDataID, H.HLevel+1, p.ParentID, p.OrderNumber
FROM
dbo.MetaData p
INNER JOIN
Descendants H ON H.MetaDataID = p.ParentID
)
SELECT d.MetaDataID, d.[Page], d.ParentID
FROM Descendants d
ORDER BY d.OrderNumber, d.[Page]
答案 0 :(得分:-1)
决定不将查询构建为父/子。谢谢你的帮助