用这种迭代,由于有start with parentid is null,所以第一行的查询必须有t.parentid is null的记录,如果被条件过滤掉了就加or t.parentid is null,
在用连接过滤时,如果有重复用distinct(只有放在第一列才不会出错),没有的列 要用常量补齐(0 leave1,不用'0'是因为和数据类型要匹配,也可直接用null)
select * from (select * from
(
select distinct(t.id) id, t.name name,t.parentid parentid ,0 leave1,'1' leave from opm_menufolder t left join opm_menuitem oo on t.id=oo.menufolderid where oo.id in (select MenuItemId from OPM_ROLELIMIT where ROLEID='ff8080814dc41486014dcd88e7830030') or t.parentid is null
union all select distinct(o.id) id, o.name name,o.menufolderid ,o.level1 leave1,'2' leave from opm_menuitem o where o.id in (select MenuItemId from OPM_ROLELIMIT where ROLEID='ff8080814dc41486014dcd88e7830030')
union all select distinct(l.id) id, l.name name,l.menuitemid ,l.level1 leave1,'3' leave from opm_menuitemlimit l where l.id in (select MENUITEMLIMITID from OPM_ROLELIMIT where ROLEID='ff8080814dc41486014dcd88e7830030')
)
start with parentid is null connect by prior id=parentid ORDER SIBLINGS BY parentid)
select * from (select * from
(
select t.name name,t.id id,t.parentid parentid ,0 leave1,'1' leave ,null uri from opm_menufolder t
union all select o.name name,o.id id,o.menufolderid,o.level1 leave1,'2' leave, o.uri uri from opm_menuitem o
union all select l.name name,l.id id,l.menuitemid ,l.level1 leave1,'3' leave , l.uri uri from opm_menuitemlimit l
)
start with parentid is null connect by prior id=parentid ORDER SIBLINGS BY parentid)
相关推荐
- `ORG_PARENTID`为该组织机构的上级组织机构ID,如果是顶级节点,则此字段为NULL或特定值(如0)。 #### 3. 数据插入 接下来,向表中插入一些示例数据以便于演示: ```sql INSERT INTO TB_SM_ORGAN (ORG_ID, ORG...
树形结构,包含parentid,可直接传入ui组件显示 { "value": "120000", "label": "天津", "children": [ { "value": "120100", "label": "市辖区", "parentid": "120000", "children": [ { "value": "120101...
- SQL SERVER使用`ISNULL()`函数,功能类似,如果第一个参数为NULL,则返回第二个参数。 5. **日期格式化**: - ORACLE的`TO_CHAR()`函数用于将日期转换为字符串,可以自定义格式模型。 - SQL SERVER则需要结合`...
在树形结构中,每个非根节点都有一个父节点,根节点则没有ParentID,它的ParentID通常设为null或特殊值。 TreeView控件的工作原理是通过数据源(如数据库、XML文件或自定义数据结构)获取数据,并根据数据中的ID和...
WHERE ParentId IS NULL UNION ALL SELECT d.ParentId, d.Id, d.Name FROM Department d JOIN RecursiveCTE r ON d.ParentId = r.Id ) SELECT * FROM RecursiveCTE; ``` 在C#代码中,使用`SqlCommand`类执行此...
`ParentId` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '父ID', `LevelType` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL ...
最全2019全国地址库,mysql专用sql CREATE TABLE IF NOT EXISTS `T_Area` ( `areaId` int(20) NOT NULL AUTO_INCREMENT COMMENT '地区Id', `areaCode` varchar(50) NOT NULL COMMENT '地区编码', `areaName` ...
`parentId` int(11) NULL DEFAULT NULL COMMENT '上级di', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 457 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '专业表' ROW_...
2. **北京市东城区**:CodeId为110101,ParentId为1101(即北京市),Name为空(此处应填写正确的区名),创建时间为当前系统时间。 3. **其他示例**:同样遵循上述模式,每个子区的ParentId都指向其所属的上级区域...
功能: 根据表名、where条件,生成导出数据的SQL语句。(包含insert语句。结果可一键执行,利于数据导出、导入) 参数: @tableName nvarchar(100) --表名 ,@sqlWhere nvarchar(500) --where条件,如'a=''123'' '(传...
`ParentId` varchar(255) DEFAULT NULL, `ShortName` varchar(255) DEFAULT NULL, `LevelType` varchar(255) DEFAULT NULL, `CityCode` varchar(255) DEFAULT NULL, `ZipCode` varchar(255) DEFAULT NULL, ...
WHERE ParentID IS NULL -- 查询根节点 UNION ALL SELECT t.ID, t.ParentID, t.Name FROM TreeNode t JOIN RecursiveTree rt ON t.ParentID = rt.ID ) SELECT * FROM RecursiveTree; ``` 接下来是C#部分,...
WHERE parentid IS NULL START WITH code = 'GF2712' CONNECT BY PRIOR parentid = id ``` **解法3:列出特定层次的数据** ```sql SELECT * FROM ( SELECT z.*, ROWNUM AS pos FROM ( SELECT id, name, code, ...
WHERE ParentCategoryID IS NULL UNION ALL SELECT c.CategoryID, c.CategoryName, c.ParentCategoryID, r.Level + 1 FROM Categories c JOIN RecursiveCategories r ON c.ParentCategoryID = r.CategoryID ) ...
在SQL Server 2008中实现递归查询来获取所有上级或下级数据是一项非常实用的技术,尤其是在处理具有层次结构的数据时。本篇将详细解释如何利用Common Table Expressions (CTE)来完成这样的查询,并对提供的示例代码...
[ParentID] float(53) NULL, [Path] nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL, [Enabled] float(53) NULL, [Jianpin] nvarchar(100) COLLATE Chinese_PRC_CI_AS NULL, [Quanpin] nvarchar(100) COLLATE ...
自己整理的全国行政区划表,包含一个树形表格式为 id name parentId code格式
实现这一功能的方法与正向递归类似,但需要从当前节点开始回溯,逐级查找父节点,直到达到根节点(ParentId为NULL)。 3. 面包屑导航数据: 面包屑导航通常用于显示用户在网站或系统中的当前位置路径,例如“首页 >...
### 解密SQL Server 2000存储过程详解 #### 一、背景介绍 在数据库管理系统(DBMS)中,存储过程是一种预先编译好的SQL语句集合,它被保存在数据库服务器上,并且可以像调用普通函数一样被应用程序所调用。这种机制...