select用户ID user_id,用户名 user_login_id,姓名 user_name,角色ID role_id,角色 role_name,部门ID dept_id,部门 dept_name,roleid,authoritytype,权限类型 permission_type_one,类型 permission_type_two,名称 menu_name, menu_url,-- SORTINDEX,-- PARENTID0,-- PARENTID1,-- PARENTID2,-- PARENTID3,-- PARENTID4,权限目录类型 permission_menu_type,适用平台 platformfrom(selectu.ID 用户ID,u.USERNAME 用户名,u.REALNAME 姓名,rc.id 角色ID,rc.NAME 角色 ,rd.id 部门ID,d.NAME 部门fromFINE_USER uleft join FINE_USER_ROLE_MIDDLE rm onu.id = rm.userIdleft join FINE_CUSTOM_ROLE rc onrm.ROLETYPE = 2and rm.ROLEID = rc.idleft join FINE_DEP_ROLE rd onrm.ROLETYPE = 1and rm.ROLEID = rd.idleft join FINE_DEPARTMENT d ond.id = rd.DEPARTMENTIDleft join FINE_POST p onp.id = rd.POSTIDwhere1 = 1) Ajoin (selectF.roleid,f.AUTHORITYTYPE,casewhen f.AUTHORITYTYPE = '1' then '查看权限'when f.AUTHORITYTYPE = '2' then '授权权限'when f.AUTHORITYTYPE = '3' then '编辑权限'when f.AUTHORITYTYPE = '4' then '数据连接管理权限'when f.AUTHORITYTYPE = '101' then 'FineReport 模板认证权限'when f.AUTHORITYTYPE = '102' then 'FineReport 模板查看权限'when f.AUTHORITYTYPE = '103' then 'FineReport 模板填报权限'when f.AUTHORITYTYPE = '201' then '业务包使用权限'when f.AUTHORITYTYPE = '202' then '业务包管理权限'when f.AUTHORITYTYPE = '203' then 'BI报表导出权限'when f.AUTHORITYTYPE = '204' then 'BI仪表板分享权限'when f.AUTHORITYTYPE = '205' then 'BI模板认证权限'when f.AUTHORITYTYPE = '206' then 'BI模板查看权限'when f.AUTHORITYTYPE = '207' then 'BI模板导出权限'when f.AUTHORITYTYPE = '208' then 'BI仪表板分享角色控制权限'when f.AUTHORITYTYPE = '209' then 'BI仪表板分享功能权限'when f.AUTHORITYTYPE = '210' then 'BI仪表板公共链接功能权限'end 权限类型,casewhen f.ROLETYPE = '1' then '部门'when f.ROLETYPE = '2' then '角色'when f.ROLETYPE = '3' then '用户'when f.ROLETYPE = '4' then '职务'end 类型,a.ID,a.DISPLAYNAME 名称, a.path menu_url,a.SORTINDEX,a.PARENTID PARENTID0,b.PARENTID PARENTID1,c.PARENTID PARENTID2,d.PARENTID PARENTID3,e.PARENTID PARENTID4,casewhen a.EXPANDTYPE = '1' then '平台管理系统节点'when a.EXPANDTYPE = '2' then '首页'when a.EXPANDTYPE = '3' then '目录'when a.EXPANDTYPE = '5' then '链接'when a.EXPANDTYPE = '6' then '文件'when a.EXPANDTYPE = '101' then '上报流程'when a.EXPANDTYPE = '102' then ' FineReport报表'when a.EXPANDTYPE = '201' then ' BI报表'end 权限目录类型,casewhen a.DEVICETYPE = '0' then '未勾选 'when a.DEVICETYPE = '1' then 'PC 'when a.DEVICETYPE = '2' then '平板 'when a.DEVICETYPE = '3' then 'PC、平板 'when a.DEVICETYPE = '4' then '手机 'when a.DEVICETYPE = '5' then 'PC、手机 'when a.DEVICETYPE = '6' then '平板、手机 'when a.DEVICETYPE = '7' then 'PC 、平板、手机 'end 适用平台,a.SORTINDEX 排序顺序fromFINE_AUTHORITY_OBJECT aleft join FINE_AUTHORITY_OBJECT b ona.PARENTID = b.idleft join FINE_AUTHORITY_OBJECT c onb.PARENTID = c.idleft join FINE_AUTHORITY_OBJECT d onc.PARENTID = d.idleft join FINE_AUTHORITY_OBJECT e ond.PARENTID = e.idjoin FINE_AUTHORITY f onf.AUTHORITY = 2and (a.id = f.AUTHORITYENTITYIDor a.PARENTID = f.AUTHORITYENTITYIDor b.PARENTID = f.AUTHORITYENTITYIDor c.PARENTID = f.AUTHORITYENTITYIDor d.PARENTID = f.AUTHORITYENTITYIDor e.PARENTID = f.AUTHORITYENTITYID)order bya.PARENTID,a.SORTINDEX) B onA.用户ID = B.roleidor A.角色ID = B.roleidor A.部门ID = B.roleidwherenot exists (select1fromFINE_AUTHORITY f1wheref1.AUTHORITY = 1and (B.id = f1.AUTHORITYENTITYIDor B.PARENTID0 = f1.AUTHORITYENTITYIDor B.PARENTID1 = f1.AUTHORITYENTITYIDor B.PARENTID2 = f1.AUTHORITYENTITYIDor B.PARENTID3 = f1.AUTHORITYENTITYIDor B.PARENTID4 = f1.AUTHORITYENTITYID)and A.用户ID = f1.roleidand B.AUTHORITYTYPE = f1.AUTHORITYTYPE)用这个sql 有些问题,在人员管理界面和目录权限界面都已经取消了该菜单权限,但是查询的时候还是关联出来了。一时没找到关联关系。又遇到这种问题的小伙伴吗?在这个sql 124行的位置 改成了 or (a.PARENTID = f.AUTHORITYENTITYID and a.parentId !='decision-directory-root') or (b.PARENTID = f.AUTHORITYENTITYID and b.parentId !='decision-directory-root') or (c.PARENTID = f.AUTHORITYENTITYID and c.parentId !='decision-directory-root') or (d.PARENTID = f.AUTHORITYENTITYID and d.parentId !='decision-directory-root') or (e.PARENTID = f.AUTHORITYENTITYID and e.parentId !='decision-directory-root')就好了 但是不知道为什么。。。。