我有一个场景。
我有sql server表结构,如下所示
ID CodeLevel ParentID Name
----------- ----------- ----------- --------------------------------------------------
1 1 NULL Company Group
40 2 1 Corp Fun
41 3 40 Fin
45 4 41 Cont
48 4 41 CFO
51 4 41 Inv Rel
52 4 41 CTandC
94 3 40 COffice
95 4 94 CEOffice
我正在寻找获得业务部门,业务部门和业务部门的查询。例如:CodeLevel = 4都是业务单位。
现在,对于ID = 95,Name是CEOfffice。 CEOffice是BusinessUnit
对于ID = 95,ParentID为94.对于ID = 94,名称为COFfice,即业务部门
对于ID = 94,其专利ID为40.因此,ID = 40,名称为Corp Fun,即BusinessGroup。
所以,当ID = 51时:
请帮我写这个查询。感谢
答案 0 :(得分:0)
只有两个联接
select base.ID, base.Name, div.Name, grp.Nave
from table as base
join table as div
on div.ID = base.parentID
and base.ID = 51
join table as grp
on grp.ID = div.parentID