这是我创建的CTE,用于获取父账户、子账户和子子账户,但它显示了前4个父级账户。
with AccountCTE(Id,Code,AccountName,[Level])
as
(
select D.Id, D.Code, D.AccountName, 1
from DefaultAccount D
join AccountClass on D.AccountClassId = AccountClass.Id
where D.ParentAccountId Is Null
union All
select Da.Id, Da.Code, Da.AccountName, AccountCTE.Level +1
from DefaultAccount Da
join AccountCTE on Da.ParentAccountId = AccountCTE.Id
)
select * from AccountCTE
ParentId
值对整个树进行排序。 - Nick