栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Oracle分层总和(从叶到根的距离)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Oracle分层总和(从叶到根的距离)

试试这个:

WITH brumba(le_vel,root,node,id_name,root_distance) AS (  SELECt 1 as le_vel, id_name as root, null as node, id_name, to_number(null) as root_distance    FROM MY_TREE WHERe parent_id IS NULL  UNIOn ALL  SELECt b.le_vel + 1, b.root,          CASE WHEN 1 < (     SELECT count(*) FROM MY_TREE t1 WHERe t1.parent_id = t.parent_id   )   THEN t.parent_id ELSE b.node         END,         t.id_name, coalesce(b.root_distance,0)+t.parent_distance  FROM MY_TREE t  JOIN brumba b ON b.id_name = t.parent_id)SELECt * FROM brumba

无需使用PL / SQL进行“第二种方法”-上面的SQL将立即计算所有根节点(

parent_id
列中为空)的结果。
只需添加一个前缀或者
INSERT INTO tablename(col1,col2, ... colN) ...
还是
CREATE TABLE nameAS ...
以上面的查询。
上面的演示包含后一个选项的示例
CREATE TABLE xxx AS query




转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/409951.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号