部门表递归查询

 
GO
 
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

-----------------------------------------------------------------------
 --
-- 摘 要: 当前代理商所有ID关联信息(返回:ID,PID,Name,HasChild)
-----------------------------------------------------------------------

ALTER PROCEDURE [dbo].[Sys_BaseAllInstitution]
(
@InStitutionID INT
)
AS
---- 关闭记数器 ----
SET NOCOUNT ON
; with I(ID,PID,NAME,HasChild) as(
SELECT AA.[InstitutionID] AS ID,AA.[ParentInstitutionID] AS PID ,AA.[InstitutionName] AS NAME,AA.[HasChild] FROM [Sys_InstitutionTB] AA WHERE AA.[InstitutionID]=@InStitutionID
UNION ALL
SELECT A.[InstitutionID] AS ID,A.[ParentInstitutionID] AS PID,A.[InstitutionName] AS NAME,A.[HasChild] FROM [Sys_InstitutionTB] A WHERE A.[ParentInstitutionID]=@InStitutionID
UNION ALL
SELECT B.[InstitutionID] AS ID,B.[ParentInstitutionID] AS PID,B.[InstitutionName] AS NAME,B.[HasChild] FROM I,[Sys_InstitutionTB] B
WHERE B.[ParentInstitutionID]=I.[ID]
)

SELECT ID,PID,Name,HasChild FROM [I]


---- 恢复记数器 ----
SET NOCOUNT OFF

---- 返回 ----
RETURN

posted @ 2014-04-22 18:36  bert.zeng  阅读(467)  评论(0编辑  收藏  举报