天天看點

組織機構sql

with cte as

(

    select vcOrganID, vcParentID, vcOrganName, 0 as lvl from tbOrgan

    where vcOrganID = 2

    union all

    select d.vcOrganID, d.vcParentID, d.vcOrganName, lvl+1

     from cte c inner join tbOrgan d on c.vcOrganID = d.vcParentID

)

select * from cte

select

    vcOrganID, vcParentID, vcOrganName,vcOrder,

    STUFF((select ',' + vcOrganID from tbOrgan

            where o.vcOrder like vcOrder+'%' and o.vcOrder<>vcOrder

            order by vcOrder

            FOR XML PATH('')), 1, 1, '') as parentIds

from tbOrgan o

order by vcOrder