with CTE as
(select Enterprise_id, Enterprise_name,parentid,cast(Enterprise_name as nvarchar(max)) as TE,
ROW_NUMBER()over(order by getdate()) as OrderID
from Tb_Enterprise where Enterprise_id=0
union all
select t.Enterprise_id, t.Enterprise_name,t.parentid,cast(replicate(' ',len(CTE.TE))+'|_'+t.Enterprise_name as nvarchar(MAX)) as TE,
CTE.OrderID*100+ROW_NUMBER()over(Order by GETDATE()) as OrderID
from Tb_Enterprise t inner join CTE
on t.parentid=cte.Enterprise_id
)
select * from CTE
order by LTRIM(OrderID)