当前位置:首页 > 开发 > 数据库 > 正文

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

发表于: 2011-01-27   作者:alafqq   来源:转载   浏览次数:
摘要:       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

 

 

 

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;

 

 

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

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
具体数据库根据情况修改 树形结构的数据很多地方都用得到,(产品)父子分类、(角色)父子权限、(应用
转自:http://www.infoq.com/cn/news/2013/01/spring-subprojects 去年年底,Spring Framework正式
在实际开发中一个庞大的项目往往是由多个工程组成的,为了便于管理,Maven提出工程父子结构。 如图
创建数据库工具类 SharedPreferences 以XML格式存储数据,存数格式是键值对 Sqlite Android内置的数
效果图 初始 输入数据 Add 显示数据 Query 实现过程的主要代码: Click事件中 case R.id.
德国幽默大师的连环漫画《父与子》   《父与子》是一部德国幽默大师埃·奥·卜劳恩创作的连环漫画,
之前我写了一篇在 SSRS 开发中处理这种父子关系的汇总与聚合的文章 (SSRS 系列 - 使用分组 Group 属
extjs 4.2 分页和根据查询条件分页 废话不多说直接上代码: Ext.onReady(getPageList); function ge
根据向导生成查询语句 找到规则包的对象库中数据库连接文件“hr”,然后在上面点击右键选择“根据向
阅读全文下载例子:http://www.sufeinet.com/forum.php?mod=viewthread&tid=402 大家应该都知道Ping
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号