select guid, count(*)-1 as "RESULT COUNT" from ( select connect_by_root(guid) guid from MV_ORG_TREE_PLAN connect by nocycle PGUID = prior GUID start with GUID in ('DB07A72E18424305B3F18CBC5D8F664A', 'FA4FF45B7C804251A62D554BF5260C3E')) group by guid
时间: 2024-02-14 14:31:15 浏览: 113
这个查询是在之前的递归查询的基础上进行了进一步的统计。它使用子查询来获取每个根节点和其子节点的数量,并将结果按根节点进行分组。
在子查询中,我们使用了之前提到的递归查询,并通过 `CONNECT_BY_ROOT` 引用根节点的 `guid`。然后,我们将这些根节点的 `guid` 作为结果的一部分。
接下来,在外部查询中,我们对这些根节点进行分组,并使用 `COUNT(*)-1` 统计每个根节点及其子节点的数量。由于根节点本身也会被计算在内,所以我们需要减去 1。
最终,这个查询将返回每个根节点及其子节点数量的结果集,其中包括一个名为 "RESULT COUNT" 的列。
如果你有更多的问题,请随时提问!
相关问题
select connect_by_root(guid) guid from MV_ORG_TREE_PLAN connect by nocycle PGUID = prior GUID start with GUID in ('DB07A72E18424305B3F18CBC5D8F664A', 'FA4FF45B7C804251A62D554BF5260C3E')
这个查询是一个使用 `CONNECT BY` 和 `CONNECT_BY_ROOT` 的递归查询示例。它从名为 `MV_ORG_TREE_PLAN` 的表中选择了一个名为 `guid` 的列,并使用 `CONNECT_BY_ROOT` 引用根节点的 `guid` 值。
在 `CONNECT BY` 子句中,使用 `nocycle` 关键字可以防止循环引用的发生。通过 `PGUID = prior GUID` 条件,递归地将每个节点的 `PGUID` 与其上级节点的 `GUID` 进行比较。
在 `START WITH` 子句中,指定了起始节点的条件,即 `GUID` 列的值为指定的两个值之一。
最终,这个查询将返回根节点及其所有子节点的 `guid` 值。
如果你有更多的问题,请随时提问!
WITH PRO_Info AS ( SELECT LongCode ,project_id ,project_guid ,project_shortname ,project_name ,EpsProjId ,EpsProjName ,parent_id ,parent_guid FROM PLN_PROJECT WHERE project_guid='0c28bd96-780c-4cbc-9a94-9cce8fffbf04' UNION ALL SELECT pp.LongCode ,pp.project_id ,pp.project_guid ,pp.project_shortname ,pp.project_name ,pp.EpsProjId ,pp.EpsProjName ,pp.parent_id ,pp.parent_guid FROM PLN_PROJECT AS pp INNER JOIN PRO_Info AS po ON pp.parent_guid=po.project_guid ) SELECT * INTO #PRO_Info FROM PRO_Info
根据您提供的SQL查询语句,这段代码的用是将PLN_PROJECT中指定project_guid的记录与其父项目的相关信息合并,并将结果储在名为#PRO_Info的临表中。
具体过程下:
1. 首先使用UNION ALL将N_PROJECT表中project_guid为0c28bd96-780c-cbc-9a94-9cce8fbf04'的记录选取出来作为初始的PRO_Info表。
2. 然后,使用递归查询(通过INNER JOIN)将PRO_Info表与PLN_PROJECT表进行连接,连接条件是PLN_PROJECT的parent_guid等于PRO_Info的project_guid,这样就可以找到每个项目的父项目信息。
3. 最后,将最终的结果存储在一个名为#PRO_Info的临时表中,该表包含了所有项目及其对应的父项目信息。
请注意,这段代码使用了递归查询,即在查询的过程中引用了自身的结果,以实现对所有层级的父项目信息的获取。
阅读全文