第一个表 t_zbys ID VARCHAR2(500) not null,//菜单的id 是下面zdnews表的type 菜单可以对应多个记录 NAME VARCHAR2(500),//菜单名称 CODE VARCHAR2(500), PARENTID VARCHAR2(500),//父菜单的id TYPE VARCHAR2(500), TIME DATE第二个表 zdnews ID VARCHAR2(20) not null, TITLE VARCHAR2(200), WRITER VARCHAR2(50), KEYWORD VARCHAR2(50), CONTENT BLOB, PICTURE VARCHAR2(200), PICTURE1 VARCHAR2(200), PICTURE2 VARCHAR2(200), PICTURE3 VARCHAR2(200), PICTURE4 VARCHAR2(200), PICTURE5 VARCHAR2(200), FLAG VARCHAR2(10), ISSUETIME DATE, TYPE VARCHAR2(20), SUBJECT VARCHAR2(50), AUTHOR VARCHAR2(30), PROVENANCE VARCHAR2(50)第一个表是做动态树形菜单的表,树形菜单可以分为四级到五级, 第二个是做菜单对应的信息记录的表。 现在要实现的是 我已经写了两个语句,用两个方法去执行 但是循环嵌套循环太慢了,用一条语句查询出来。 查询菜单 就是简单的 一条 语句 select * from t_zbys order by id desc 然后查询的结果放到list里面在前台页面循环列出 用js排好,然后需要对每个菜单下面的记录进行计数,并且每一级菜单是下面几级菜单里面信息记录数的综合。语句是SELECT COUNT(id) NUM FROM ZDNEWS WHERE TYPE IN (SELECT ID FROM T_ZBYS D WHERE D.ID = '"+id+"' OR D.PARENTID = '"+id+"' OR D.PARENTID IN (SELECT ID FROM T_ZBYS T WHERE T.PARENTID ='"+id+"')OR PARENTID IN ( SELECT ID FROM T_ZBYS WHERE PARENTID IN (SELECT ID FROM T_ZBYS WHERE PARENTID IN ("+id+"))))
子查询就可以啊
ID VARCHAR2(500) not null,//菜单的id 是下面zdnews表的type 菜单可以对应多个记录
NAME VARCHAR2(500),//菜单名称
CODE VARCHAR2(500),
PARENTID VARCHAR2(500),//父菜单的id
TYPE VARCHAR2(500),
TIME DATE第二个表 zdnews
ID VARCHAR2(20) not null,
TITLE VARCHAR2(200),
WRITER VARCHAR2(50),
KEYWORD VARCHAR2(50),
CONTENT BLOB,
PICTURE VARCHAR2(200),
PICTURE1 VARCHAR2(200),
PICTURE2 VARCHAR2(200),
PICTURE3 VARCHAR2(200),
PICTURE4 VARCHAR2(200),
PICTURE5 VARCHAR2(200),
FLAG VARCHAR2(10),
ISSUETIME DATE,
TYPE VARCHAR2(20),
SUBJECT VARCHAR2(50),
AUTHOR VARCHAR2(30),
PROVENANCE VARCHAR2(50)第一个表是做动态树形菜单的表,树形菜单可以分为四级到五级, 第二个是做菜单对应的信息记录的表。
现在要实现的是 我已经写了两个语句,用两个方法去执行 但是循环嵌套循环太慢了,用一条语句查询出来。
查询菜单 就是简单的 一条 语句 select * from t_zbys order by id desc 然后查询的结果放到list里面在前台页面循环列出 用js排好,然后需要对每个菜单下面的记录进行计数,并且每一级菜单是下面几级菜单里面信息记录数的综合。语句是SELECT COUNT(id) NUM FROM ZDNEWS WHERE TYPE IN (SELECT ID FROM T_ZBYS D WHERE D.ID = '"+id+"' OR D.PARENTID = '"+id+"' OR D.PARENTID IN (SELECT ID FROM T_ZBYS T WHERE T.PARENTID ='"+id+"')OR PARENTID IN ( SELECT ID FROM T_ZBYS WHERE PARENTID IN (SELECT ID FROM T_ZBYS WHERE PARENTID IN ("+id+"))))