当前位置: 代码迷 >> Sql Server >> sql语句部门下的所有用户
  详细解决方案

sql语句部门下的所有用户

热度:63   发布时间:2016-04-24 09:40:03.0
求一个sql语句部门下的所有用户
with my1 as (select * from SYS_OrgUnit where 
OUCode=(select OuCode from SYS_Site_Org a 
where a.SiteCode='201') union all select SYS_OrgUnit.* from my1,SYS_OrgUnit where 
my1.OUCode=SYS_OrgUnit.ParentOUCode ) 
select SYS_OrgUser.* from my1 inner join SYS_OrgUser 
on my1.OUCode=SYS_OrgUser.OUCode  inner join SYS_User 
on SYS_OrgUser.UserID=SYS_User.UserID 

如上sql可以查询出用户所在的部门信息

select * from SYS_OrgUnit;

如上sql可以查询部门表

如何查询出100101107部门下的用户也就是能查询出
OUCode='100101107101'  的用户ID xdx  这条记录


------解决思路----------------------
你都知道部门id了,不需要部门表了吧,直接substring,like就能拿到人员了吧

with my1 as (select * from SYS_OrgUnit where 
OUCode=(select OuCode from SYS_Site_Org a 
where a.SiteCode='201') union all select SYS_OrgUnit.* from my1,SYS_OrgUnit where 
my1.OUCode=SYS_OrgUnit.ParentOUCode ) 
select SYS_OrgUser.* from my1 
inner join SYS_OrgUser on my1.OUCode=SYS_OrgUser.OUCode 
inner join SYS_User on SYS_OrgUser.UserID=SYS_User.UserID 
where my1.OUCode like '100101107%'
  相关解决方案