查询所有角色下拥有的权限

有角色表t_role,角色与菜单中间表t_role_menu,菜单表t_menu,查询结果如下图!我想查询所有角色拥有的权限!角色与菜单表cid对应角色表的role_id,mid对应菜单表的id,菜单表一级菜单是0,二级菜单是pid,对应菜单表的id。不知道我这样描述能不能看的懂!

菜单表

CREATE TABLE `t_role_menu` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
  `cid` varchar(255) COLLATE utf8_unicode_ci NOT NULL COMMENT '角色ID',
  `mid` varchar(255) COLLATE utf8_unicode_ci NOT NULL COMMENT '菜单ID',
  PRIMARY KEY (`id`),
  UNIQUE KEY `cid` (`cid`,`mid`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=98 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

角色表

CREATE TABLE `t_role` (
  `role_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
  `role_name` varchar(255) COLLATE utf8_unicode_ci NOT NULL COMMENT '角色名称',
  `role_state` int(11) NOT NULL DEFAULT 0 COMMENT '角色状态',
  PRIMARY KEY (`role_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

角色与菜单中间表

CREATE TABLE `t_role_menu` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
  `cid` varchar(255) COLLATE utf8_unicode_ci NOT NULL COMMENT '角色ID',
  `mid` varchar(255) COLLATE utf8_unicode_ci NOT NULL COMMENT '菜单ID',
  PRIMARY KEY (`id`),
  UNIQUE KEY `cid` (`cid`,`mid`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=98 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

img

img


SELECT
    r.role_name,
    mm.title as menu1,
    m.title as menu2

FROM
    t_role r
    LEFT JOIN t_role_menu re ON r.role_id = re.cid
    LEFT JOIN t_menu m ON m.id = re.mid 
    LEFT JOIN t_menu mm ON m.pid = mm.id
WHERE
    ( m.pid != 0 OR m.id IS NULL )

img

给的信息太少了

麻烦把表的sql贴出来