有一张存在上下级关系的function表,parentId表示上级Id,现要查询出上级菜单下的子菜单,每个子菜单显示成以逗号分隔的字符串

表结构如下:

create table menu 
(
   id                   int             not null,
   menucode              varchar(100),
   menuname              varchar(100),
   linkadress           varchar(500),
   parentId                char(100) null,
   constraint PK_menu primary key (id)
);

查询表数据为:

SELECT a.*,rowid FROM menu a

在oracle中,可以使用wmsys.wm_concat:

SELECT a.*, rowid
  FROM menu a
        SELECT parentId,
               wm_concat(id),
               wm_concat(menuname),
               wm_concat(linkadress)
          FROM menu
         group by parentid

查询到的结果集为:

posted on 2017-02-27 17:21  miaoying  阅读(5423)  评论(0编辑  收藏  举报