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;
分享到:
相关推荐
本示例是一个"Maven 简单的父子项目例子",旨在展示如何通过Maven的多模块(multi-module)结构来组织和构建一个包含多个子项目的工程。 在这个例子中,项目名为 "test",它包含了三个子模块:jar a、war b 和 war ...
通过父项目,我们可以统一配置所有子项目的构建过程,例如设置版本号、依赖项等,从而简化大型项目的维护。 1. **创建父项目** 在Gradle中,创建父项目主要涉及`settings.gradle`文件。此文件用于声明子项目的路径...
"MID"标签可能指的是MFC(Microsoft Foundation Classes)框架中的成员ID,这是一个在Windows平台上常见的用于识别控件和菜单项的标识。 在Windows编程中,父子窗口的关系通常通过`CreateWindow`或`CreateDialog`...
// 获取选中的父项数据,根据数据加载子GridView SubGridViewAdapter adapter = new SubGridViewAdapter(subItems); GridView subGridView = (GridView) view.findViewById(R.id.sub_grid_view); subGridView....
在WPF(Windows Presentation Foundation)应用开发中,DataGrid控件是用于显示和操作表格数据的强大工具。在处理复杂的数据关系时...在实际项目中,根据具体需求,可能还需要处理更多细节,如排序、过滤、编辑验证等。
在IT行业中,父子页面之间的通信是一项常见的需求,特别是在构建复杂Web应用时。本文将深入探讨四种主要的方法:`showModelessDialog`、`window.open`、`showModalDialog`以及`iframe`,来实现这样的交互。 首先,...
本文将深入探讨如何在VS2005中使用C#来创建和管理MID窗体,以及如何实现父子窗体之间的通信。 首先,我们需要创建一个新的Windows Forms项目。在VS2005中,选择"File" > "New" > "Project",然后在项目模板中选择...
在本例中,用户通过树形控件选择项目,触发相应的子窗体显示。 **2. 树形控件的使用** 树形控件(TreeView)是一种常见的GUI元素,用于展示层次结构的数据。在VB中,我们可以使用TreeView控件来创建一个可点击的...
在现代软件开发中,Gradle已经成为了Java领域广泛使用的构建工具,尤其在大型项目和多模块项目中,其优势更为显著。"gradle多模块开发"这个主题涉及到如何有效地管理和构建多个相互依赖的子项目,形成一个整体的工程...
在IT行业中,构建大型分布式系统是一项复杂而关键的任务。Dubbo作为阿里巴巴开源的一款高性能、轻量级的服务治理框架,常用于构建微服务架构。本文将详细介绍如何基于Maven、Dubbo、Zookeeper以及Spring框架搭建一个...
2. **CSS 样式**:如何用CSS控制列表的视觉呈现,例如折叠/展开的图标,以及父子项的缩进,以体现层级关系。 3. **JavaScript 交互**:使用JavaScript(可能包括jQuery或其他库)来实现列表的交互功能,如点击展开/...
Command对象通常指的是在Windows应用程序中的按钮、菜单项等用户可交互的对象,它们允许用户执行特定的操作或触发事件。 在VB中,Command对象可以有父子关系,这主要是通过容器控件(如Form或GroupBox)来实现的。...
6. **测试与优化**:最后,进行详尽的测试以确保各个层级间的转换顺畅,同时根据用户反馈进行必要的调整,优化用户体验。 在提供的文件"TreePage"中,可能包含了实现上述功能的代码示例、报表模板或者相关的配置...
`.csproj`文件则是项目文件,定义了项目的编译设置、依赖项等。 综上所述,这个项目提供了一个实际的示例,演示了如何在ASP.NET Core中利用ReSharper的ApiController特性构建RESTful API,同时创建父子资源和管理...
在实际项目中,可以将 `Parent-sub-Control-master` 文件夹中的代码导入Xcode项目,然后根据项目的具体需求进行调整和扩展。记住,编写清晰、可维护的代码对于长期的项目维护至关重要。在实现过程中,遵循苹果的编程...
在C#编程中,父子窗体的嵌套是一种常见的用户界面设计模式,它允许一个窗体(父窗体)打开另一个窗体(子窗体),并控制子窗体的显示和关闭。这样的设计有助于创建更复杂的多窗口应用程序,提供更好的用户体验。在...
ActsAsTree ActsAsTree扩展了ActiveRecord,以添加对将项目组织成父子关系的简单支持。 默认情况下,ActsAsTree需要一个称为parent_id的外键列。 示例类Catego ActsAsTree ActsAsTree扩展了ActiveRecord,以添加对将...
开发者可能使用Entity Framework Core来操作这个数据库,包括读取、写入和查询父子关系。 `appsettings.json`和`appsettings.Development.json`是应用的配置文件,它们包含了应用的环境特定设置,如数据库连接字符...
在这个"vue记事本案例"中,我们重点探讨的是Vue.js中的父子组件通信,以及如何实现新增待办、删除待办(一键清空)、待办数量统计和持久化存储功能。 首先,让我们关注父子组件通信。在Vue.js中,父子组件之间的...