版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yenange/article/details/83999570
USE tempdb
GO
--测试数据
if not object_id(N'Employee') is null
drop table Employee
Go
Create table Employee([EId] nvarchar(23),[Name] nvarchar(23),[Sex] nvarchar(21),[Depart] int)
Insert Employee
select N'001',N'臧三',N'男',103 union all
select N'002',N'雄起',N'男',103 union all
select N'003',N'冠益乳',N'女',103 union all
select N'004',N'但是',N'男',104 union all
select N'005',N'热风',N'男',104 union all
select N'006',N'裤脚',N'男',105 union all
select N'007',N'是多少',N'女',105 union all
select N'008',N'出纳',N'女',106 union all
select N'009',N'删除',N'男',107 union all
select N'010',N'但是',N'男',107
GO
if not object_id(N'Orgnazation') is null
drop table Orgnazation
Go
Create table Orgnazation([Id] int,[OrgName] nvarchar(24),[ParentId] int)
Insert Orgnazation
select 100,N'M公司',null union all
select 101,N'管理中心',100 union all
select 102,N'业务中心',100 union all
select 103,N'财务部',100 union all
select 104,N'人事部',101 union all
select 105,N'技术部',101 union all
select 106,N'销售1部',102 union all
select 107,N'销售2部',102
Go
--测试数据结束
;
WITH cte AS (
SELECT Orgnazation.ID,
Orgnazation.ID AS OID
FROM Orgnazation WHERE id=100
UNION ALL
SELECT Orgnazation.ID,
OID
FROM dbo.Orgnazation
JOIN cte
ON cte.ID = Orgnazation.ParentId
)
SELECT * FROM cte