`

根据父子项目---查询父子项

 
阅读更多

 

 

 

CREATE OR REPLACE VIEW V_PTREE_TEMP AS

  SELECT LEVEL LV, CONNECT_BY_ISLEAF LF, P.PARENTID, P.ID,SYS_CONNECT_BY_PATH(ID, '-')||'-' FULLPATH

    FROM BO_PROJECT P

  CONNECT BY PRIOR P.ID = P.PARENTID

   START WITH P.PARENTID = 0

最后添加-,防止13与139也匹配重复

 

SELECT * FROM V_PTREE_TEMP  T1,BO_PROJECT T2 WHERE 

 (T2.ID=14715 OR T2.ID=43100 --联合父子项

 OR T2.ID=15049  --子项

  OR T2.ID=15055 --父项

  )

 AND T1.FULLPATH  LIKE '%-'||T2.ID||'%-'

--这个能统计所有 父子项;

 

---==============================================----

SELECT * FROM V_PTREE_TEMP  T1,BO_PROJECT T2 WHERE 

 (T2.ID=14715 OR T2.ID=43100 --联合父子项

 OR T2.ID=15049  --子项

  OR T2.ID=15055 --父项

  )

 AND T1.FULLPATH  LIKE '%-'||T2.ID||'%-'

 AND T1.ID<>15055 AND T1.ID<>14715 --去除多余父项

--这个能统计所有 子项;

 

---==============================================----

SELECT * FROM V_PTREE_TEMP  T1,BO_PROJECT T2 WHERE 

 (T2.ID=14715 OR T2.ID=43100 --联合父子项

 OR T2.ID=15049  --子项

  OR T2.ID=15055 --父项

  )

 AND T1.FULLPATH  LIKE '%-'||T2.ID||'%-'

 AND T1.PARENTID=0

--这个能统计所有 父项;

 

 

最后这句才是王道,前面都是浮云

 

  SELECT T1.ID FROM V_PTREE_TEMP  T1,BO_PROJECT T2 WHERE 

 ( T2.ID=14715 OR T2.ID=43100 --联合父子项

  )

 AND T1.FULLPATH  LIKE '%-'||T2.ID||'-%' GROUP BY T1.ID

 

t1.id才是我想要的id,其实都会出笛卡尔积;因此我还要过滤下,父子项的重复关联;

这样不管来什么子的,或父的id,我都能算出全部id;

 

 

分享到:
评论

相关推荐

    ActsAsTree-扩展ActiveRecord以添加简单支持,以将项目组织成父子关系。-Ruby开发

    ActsAsTree ActsAsTree扩展了ActiveRecord,以添加对将项目组织成父子关系的简单支持。 默认情况下,ActsAsTree需要一个称为parent_id的外键列。 示例类Catego ActsAsTree ActsAsTree扩展了ActiveRecord,以添加对将...

    PB9下拉树自定义控件(源码)

    并且“编码”字段用以维护树列表项的父子关系,例如: bm ----------- 001 001001 001002 002 002001 002002 002003 ... //------可设置的变量,其中仅i_tablename是必设变量---------------- uo_1.i_tablename=...

    dependencyManagement与dependencies区别.docx

    为了项目的正确运行,必须让所有的子模块使用依赖项的统一版本,必须确保应用的各个项目的依赖项和版本一致,才能保证测试的和发布的是相同的结果。在我们项目顶层的pom文件中,我们会看到dependencyManagement元素...

    父子窗体间传递JSON格式的数据的代码

    在开发的项目中,遇到这样一个例子:当用户选择某一个用户名时,弹出当前用户的评分卷,该评分卷列出了所有一级评分项,让用户进行评分操作。

    example-jbpm-test-harness

    测试工具组织选项可以通过以下方式将此测试工具固定到BPMS项目(kjar): 作为 BPMS 项目的同级模块在一个共同的父级下(首选) 作为将 BPMS 项目作为依赖项导入的独立项目作为BPMS项目下的一个模块(即父子关系) ...

    H3BPM 试用系统操作手册

    以下功能都是基于默认表单配置实现,请在在Portal/admin中查看【表单和控件-&gt;显示所有数据项-&gt;默认表单】,点击每个控件,观察每个控件设置的属性值 演示过程 在Portal门户的流程中心中发起【表单和控件-&gt;显示所有...

    sub-module-example

    但是,当您想要 PR 更改时,如果您在开发期间对子模块项目进行了更改,则需要首先在上游存储库中获取这些更改,然后将父子模块指向更新后的 SHA for allenai/common .如何使用当你用子模块克隆一个 repo 时,你想...

    listify:一个 jQuery 插件,在悬停时将元列表项添加到主列表项

    一个 jQuery 插件,它在父子关系中绑定两个单独的列表。 一个简单的例子是拥有一个您已构建的网站列表以及您用于构建它们的工具列表。 Listify 允许您以两种形式在列表之间添加交互性 - 在悬停时将子项附加在父项...

    动软.Net代码生成器

    Codematic同时提供方便的多类型数据库管理,查询分析器,SQL脚本生成,存储过程生成,数据库文档生成,Web项目发布,代码批量自动输出等多项开发工作中常用到的功能,您可以很方便轻松地进行项目开发。 功能如下...

    《智能财务基础》PPT第3章-智能财务报告.pptx

    在内存计算的技术应用下,所有的数据模型会经过初始化加载到内存中, 数据输入查询计算等操作,都会在内存中执行,最终使用用户直接从内存访问数据,进行实时的分析和计算,减少了用户对数据磁盘的访问时间,大大...

    vue两组件间值传递 $router.push实现方法

    两组件间传值,可能包含多种情况,有父子组件和非父子组件,对于父子组件网上有很详细的方法讲解,但非父子组件传值有用bus总线,还有一些其他方法,其中的使用路由跳转的方法讲解太过简洁,难以理解。因为是公司...

    实现语法分析器-编译原理

    实现了基本功能,加分项目都没有去实现,没有函数数组这些的实现。这是用C++语言写的,新建parser类别要选C++,其他对于VS的配置和C语言一样。for语句用的是枚举所有情况,你可以自行修改。 对预备工作中自然语言...

    asp.net知识库

    根据基本表结构及其数据生成 INSERT ... 的 SQL 简便的MS SQL 数据库 表内容 脚本 生成器 将表数据生成SQL脚本的存储过程 直接从SQL语句问题贴子数据建表并生成建表语句的存储过程 从SQL中的一个表中导出HTML文件...

    HMVCPHP框架ClanCats.zip

    HMVC模式即Hierarchical-Model-View-Controller模式,也可以叫做Layered MVC.HMVC模式把客户端应用程序分解为有层次的父子关系的MVC。反复应用这个模式,形成结构化的客户端架构。 HMVC工作原理: Controller是功能...

    一个进程池的服务器程序

    1,父进程listen,创建pipe(下面所有父子进程之间的通信都用该pipe) 2,父进程预fork n个子进程 3,各个子进程accept(listenfd),即所有子进程竞争accept请求。由于listenfd是在fork之前就有的,所以所有子进程都...

    WP主题:HotNewspro 2.72

    HotNews(热点新闻)作为一款免费的Wordpress主题,集成了五、六十项功能,丰富的主题设置面板,功能模块化,虽是一款主题,却集成了CMS、BLOG、图片、视频等多个模版,统一的风格展示不同的内容。历经多次升级,...

    新编Pro.ENGINEER野火版3.0入门与提高.pdf

    5.5.1使用【编辑】【实体化】菜单项 5.5.2使用【编辑】【偏移】菜单项 5.5-3使用【编辑】【加厚】菜单项 5.6曲面设计实例 1.创建新丈件 2.创建基准曲线 3.创建鼠标外壳曲面 5.7本章小结 5.8过关练习题 第6章 装配...

Global site tag (gtag.js) - Google Analytics