有个菜单表,需要根据用户权限获取菜单 和菜单的父菜单。用户权限表中保留了菜单的id ,没有保存父菜单id 。每个菜单项 有个字段记录了父菜单的id串,格式为:一级父id, 二级id, 三级父id.......我怎么一次性查出 用户的菜单 和 菜单的全部上级菜单?
解决方案 »
- commit概念请教(新手)
- PLSQL Developer连接远程数据库
- 急求教大侠们 oracle pro*c 开发工具环境问题。
- Oracle中如何选出表的前几行?
- oracle不能update
- 急!oracle10g 的dump能在oracle9i上用吗?
- 祝贺神舟6号壮美太空之旅
- 如何用sql将二个结构相同表(但存储数据不同)连在一起?
- 提示的前景色和背景色的设置
- 技术性问题:用pro*c 批量读取,批量插入,交替进行。详情如下:
- Oracle触发器,同一时间向一张表插入大量数据会出问题吗?
- 求助Windows2008 下的Oracle :em-application.log文件过大,可以删除吗?
比如数据结构如下:
CREATE TABLE `t_menu` (
`id` int(11) NOT NULL COMMENT '菜单id',
`name` varchar(30) NOT NULL,
`parent_id` varchar(50) NOT NULL COMMENT '父菜单iD序列(一级菜单ID.二级菜单ID.三级菜单ID...)'
) ENGINE=MyISAM DEFAULT CHARSET=latin1;-- ----------------------------
-- Records of t_menu
-- ----------------------------
INSERT INTO `t_menu` VALUES ('1', '一级菜单1', '');
INSERT INTO `t_menu` VALUES ('2', 二级菜单1', '1');
INSERT INTO `t_menu` VALUES ('3', '三级菜单1', '1.2');
INSERT INTO `t_menu` VALUES ('4', '三级菜单2', '1.2');
INSERT INTO `t_menu` VALUES ('5', '四级1', '1.2.4');-------------------------------- 对应菜单如下图:
一级菜单1
|----------二级菜单1
|----------三级菜单1
|----------三级菜单2
|--------------四级菜单1---------------------------------------------------
在保存用户菜单时只保留了【三级菜单1】、【三级菜单2】、【四级菜单1】的ID。
查询时想要还原上图的树形 菜单,也就是要查出 【二级菜单1】和【一级菜单1】 来