With As实现查找表中指定节点的所有子节点

要实现的树如图所示,要求能根据“节点1”获取其所有子节点

数据库表设计如下:

在这里用到With As

WITH tb AS
{
SELECT* FROM node WHERE nodeId=1 UNION ALL SELECT node.nodeId,node.nodeName,node.parentId FROM node,tb WHERE node.parentId=tb.nodeId
}
SELECT * FROM tb
时间: 2024-08-05 10:16:11

With As实现查找表中指定节点的所有子节点的相关文章

查找列表中指定的所有元素的位置

问题:查找列表中指定的值的所有元素 使用list的index方法 1 def find_index(src, key): 2 start_pos = 0 3 for i in range(src.count(key)): 4 if start_pos == 0: 5 start_pos = src.index(key) 6 else: 7 start_pos = src.index(key, start_pos+1) 8 print(start_pos) 9 10 if __name__ ==

SqlServer查找表中多余的重复记录

1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) 2.删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录delete from peoplewhere peopleId in (select peo

查找表中多余的重复记录(多个字段)

3.查找表中多余的重复记录(多个字段) select * from vitae awhere (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq  having count(*) > 1) 注意这里 in可以有多个字段

Oracle中使用游标转换数据表中指定字段内容格式(拼音转数字)

应用场景:将数据表TB_USER中字段NNDP的内容中为[sannanyinv]转换为[3男1女] 主要脚本:一个游标脚本+分割字符串函数+拼音转数字脚本 操作步骤如下: 1.创建类型 create or replace type splitTable is table of varchar2(100); 2.创建函数fn_splitString(功能是将字符串分割成多条记录)--测试语句select * from table(fn_splitString('ernanyinv','nan'))

Mysql 查找表中的前n大元素

转载注明出处:http://www.cnblogs.com/liangyongrui/p/8622593.html Mysql 查找表中的前n大元素 用程序写很简单,利用堆维护一下就行了,但是用sql呢? 解法: 假设需要比较的字段是a,找出前n大的行,则答案为count(比a小的行) < n的行.(说起来有点绕..看个例子就懂了) 假设有这样的一个表 Id Name Salary 1 Joe 70000 2 Henry 80000 3 Sam 60000 4 Max 90000 5 Janet

mssql sqlserver 禁止删除数据表中指定行数据(转自:http://www.maomao365.com/?p=5323)

转自:http://www.maomao365.com/?p=5323 摘要:下文主要讲述,如何禁止删除数据表中指定行数据 最近收到用户一个需求,禁止所有人删除”表A”中,ID 为1.2.3.4.5的系统默认数据,通过项目组同事仔细研究,我们得到一致的答案为:在表上新增一个触发器,当删除数据ID为 1 2 3 4 5时候,直接弹出相应的错误,采用这种模式,可以限制所有端口的异常操作(程序 查询分析器),具体实现方式,如下文所示: create trigger trTriggerA on A fo

SQL SERVER 2000 遍历父子关系数据的表(二叉树)获得所有子节点 所有父节点及节点层数函数

---SQL SERVER 2000 遍历父子关系數據表(二叉树)获得所有子节点 所有父节点及节点层数函数---Geovin Du 涂聚文--建立測試環境Create Table GeovinDu([ID] Int, fatherID Int, [Name] Varchar(10))Insert A Select 1, 0, '中国'Union All Select 2, 1, '广东'Union All Select 3, 1, '北京'Union All Select 4, 2, '深圳特区

查找xaml中指定的元素

var curGrid = myGrid.Children.OfType<Grid>().FirstOrDefault(x => x.ActualHeight == 100); OfType() :根据指定类型筛选 IEnumerable 的元素. First(Func<TSource, Boolean>):返回序列中满足指定条件的第一个元素. 还有很多方法如: ElementAt(int index) :返回序列中指定索引处的元素.

MySQL中进行树状所有子节点的查询【转】

在Oracle 中我们知道有一个 Hierarchical Queries 通过CONNECT BY 我们可以方便的查了所有当前节点下的所有子节点.但很遗憾,在MySQL的目前版本中还没有对应的功能. 在MySQL中如果是有限的层次,比如我们事先如果可以确定这个树的最大深度是4, 那么所有节点为根的树的深度均不会超过4,则我们可以直接通过left join 来实现. 但很多时候我们无法控制树的深度.这时就需要在MySQL中用存储过程来实现或在你的程序中来实现这个递归.本文讨论一下几种实现的方法.