-- SQL2005 递归查询示例,非常方便
--
 Author:BOBBY
WITH tree AS 
(
SELECT     F_DEPT_ID, CAST(F_DEPT_NAME AS varchar(MAX)) AS F_DEPT_NAME
    
FROM         dbo.T_ACCOUNTS_DEPT_INFO AS A
    
WHERE     (F_PARENT_DEPTID = 0)
UNION ALL
SELECT     A.F_DEPT_ID, B.F_DEPT_NAME + '/' + A.F_DEPT_NAME AS F_DEPT_NAME
FROM         dbo.T_ACCOUNTS_DEPT_INFO AS A CROSS JOIN
                     tree 
AS B
WHERE     (A.F_PARENT_DEPTID = B.F_DEPT_ID))
    
SELECT     TOP (100PERCENT F_DEPT_ID, F_DEPT_NAME
     
FROM         tree AS tree_1
     
ORDER BY F_DEPT_NAME
posted on 2007-10-25 16:00  记得忘记  阅读(1011)  评论(0编辑  收藏  举报