我是这样写的,select a.* from menu a,role_menu b,sys_group_role c,sys_user_group d,sys_user e where a.menuid=b.menuid and b.roleid=c.roleid and c.groupid=d.groupid and d.userid=e.userid and e.userid=? 不知道是否有问题?
3个表连接就够了 select a.userid,c.menu from sys_user_group a left join sys_group_role b on a.groupid=b.groupid left join role_menu c on b.roleid=c.roleid where a.userid='你的值'
楼主的写法没问题,只是不需要那么多表, 三个表是不行的,还要加上menu表,因为要根据menu表里的数据比如URL去显示连接到那个页面吧select a.userid,d.* from sys_user_group a,sys_group_role b,role_menu c,menu d where a.groupid=b.groupid and b.roleid=c.roleid and a.userid='你的值'
where a.menuid=b.menuid and b.roleid=c.roleid and c.groupid=d.groupid and d.userid=e.userid and e.userid=?
不知道是否有问题?
select a.userid,c.menu
from sys_user_group a left join sys_group_role b
on a.groupid=b.groupid
left join role_menu c
on b.roleid=c.roleid
where a.userid='你的值'
三个表是不行的,还要加上menu表,因为要根据menu表里的数据比如URL去显示连接到那个页面吧select a.userid,d.*
from sys_user_group a,sys_group_role b,role_menu c,menu d
where a.groupid=b.groupid and b.roleid=c.roleid and a.userid='你的值'