SQL获取所有上级的实现方法说明:(1)可以做成一个函数,直接调用即可;(2)M0Org是数据库存在的表,M0OrgPID为目标表,OrgID为ID字段,PID为上级ID字段DECLARE@OrgIDNVARCHAR(36)='00000000-0000-0000-00000002205223459';--获取当前机构的所有上级放入M0OrgPIDWITHM0OrgPIDAS(SELECT*,0ASlvlFROMM0OrgWHEREOrgID=@OrgIDUNIONALLSELECTd.*,lvl+1FROMM0OrgPIDcINNERJOINM0OrgdONc
说明:
(1)可以做成一个函数,直接调用即可;
(2) M0Org 是数据库存在的表 ,M0OrgPID 为目标表,OrgID为ID字段,PID为上级ID字段
DECLARE @OrgID NVARCHAR(36)= '00000000-0000-0000-00000002205223459'; --获取当前机构的所有上级 放入M0OrgPID WITH M0OrgPID AS ( SELECT *, 0 AS lvl FROM M0Org WHERE OrgID = @OrgID UNION ALL SELECT d.*, lvl + 1 FROM M0OrgPID c INNER JOIN M0Org d ON c.PID = d.OrgID ) SELECT * FROM M0OrgPID;
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!