Quote: 引用 3 楼 yupeigu 的回复:
大致就是这样子了:
select * from A
union all
select B.* from B
inner join A
on A.xx = B.xx
谢谢,表结构如下,
CREATE TABLE `cep_menu` (
`ID` varchar(40) NOT NULL DEFAULT "" COMMENT "UUID",
`NAME` varchar(40) DEFAULT NULL COMMENT "菜单名称(中文)",
`NAME_EN` varchar(40) DEFAULT NULL COMMENT "菜单名称(英文)",
`URL` varchar(200) DEFAULT NULL COMMENT "菜单URL",
`DESCP` varchar(200) DEFAULT NULL COMMENT "描述",
`ICON` varchar(100) DEFAULT NULL COMMENT "菜单图标",
`PARENT_ID` varchar(40) DEFAULT NULL COMMENT "父ID",
`SHOW_TOP` int(11) DEFAULT NULL COMMENT "独立导航",
`SN` int(11) DEFAULT NULL COMMENT "排序",
`DELETE_FLAG` bit(1) DEFAULT NULL,
`CREATE_USER_ID` varchar(40) DEFAULT NULL,
`CREATE_USER_NAME` varchar(40) DEFAULT NULL,
`CREATE_TIME` datetime DEFAULT NULL,
`LAST_UPDATE_USER_ID` varchar(40) DEFAULT NULL,
`LAST_UPDATE_USER_NAME` varchar(40) DEFAULT NULL,
`LAST_UPDATE_TIME` datetime DEFAULT NULL,
`MENU_TYPE` varchar(10) DEFAULT NULL COMMENT "目录/菜单",
`ENTERPRISE_ID` varchar(40) DEFAULT NULL COMMENT "企业ID",
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT="菜单表";
本人的需求是根据用户ID找到用户可以操作的菜单,然后再根据菜单查找目录。然后将菜单和其目录一起返回。
参照高手你的语法本人本人写了如下语句:
SELECT* FROM (
SELECT * FROM cep_menu WHERE menu_type="菜单"
)a
UNION ALL
SELECT b.* FROM cep_menu b WHERE b.id=a.parent_id