SQL分层请求按优先级连接不获取第一个根

SQL分层请求按优先级连接不获取第一个根,sql,oracle12c,Sql,Oracle12c,我有一个INTERSHOP进程表,其中包含所有正在运行的作业和以前运行的作业,我希望使用分层请求进行搜索和显示 以下是我所做的: SELECT LEVEL N, LPAD(' ', 3*LEVEL-3) || P.NAME "HIERARCHY", TO_CHAR(FROM_TZ(P.STARTDATE, 'UTC') AT TIME ZONE 'Europe/Paris', 'DD/MM/YYYY HH24:MI:SS') STARTTIME, TO_CHA

我有一个INTERSHOP进程表,其中包含所有正在运行的作业和以前运行的作业,我希望使用分层请求进行搜索和显示

以下是我所做的:

SELECT LEVEL N, LPAD(' ', 3*LEVEL-3) || P.NAME "HIERARCHY",
    TO_CHAR(FROM_TZ(P.STARTDATE, 'UTC') AT TIME ZONE 'Europe/Paris', 'DD/MM/YYYY HH24:MI:SS') STARTTIME,
    TO_CHAR(FROM_TZ(P.ENDDATE, 'UTC') AT TIME ZONE 'Europe/Paris', 'DD/MM/YYYY HH24:MI:SS') ENDTIME,
    P.HOSTNAME,
    P.SERVERNAME,
    P.STATE
FROM PROCESS P
WHERE FROM_TZ(P.STARTDATE, 'UTC') AT TIME ZONE 'Europe/Paris' >= TO_DATE('14/05/2021 08:45', 'DD/MM/YYYY HH24:MI')
    AND FROM_TZ(P.STARTDATE, 'UTC') AT TIME ZONE 'Europe/Paris' <= TO_DATE('14/05/2021 10:10', 'DD/MM/YYYY HH24:MI')
CONNECT BY PRIOR P.UUID = P.PARENTUUID
ORDER SIBLINGS BY P.STARTDATE;
  • 我还没有得到层次结构(那些具有UUID但PARENTUUID=NULL的层次结构)的真正根,因此它从级别2开始
  • 没有父进程ID和子进程,我无法获得所有进程
  • 我有一些进程具有PARENTUUID(so child),但不在树中
  • 我如何将ORDER BY和ORDER BILLIESS BY组合起来,以便按时间对列表进行排序?我想这可以通过纠正前面的3个问题来解决

  • 非常感谢

    但是不要只想要层次结构-层次结构为1和层次结构为更多之间有什么区别?具有PARENTUUID(即子级)但级别为1的流程-听起来像是数据建模错误,要使某些事物根据一条规则成为父对象,而另一些事物根据同一条规则不是父对象,目前我找不到PARENTUUID=NULL的行(因此没有父对象,所以仅此一项),但确实如此。我不太理解“我找不到行……但是有”-如果行在表中,您怎么找不到它们?如果表中没有行,为什么说“有”看起来不太难。基本的递归CTE将完成这项工作。你能为你呈现的结果添加样本数据吗?
    | N | HIERARCHY | STARTTIME           | ENDTIME | HOSTNAME | SERVERNAME | STATE |
    | - | --------- | ------------------- | ------- | -------- | ---------- | ----- |
    | 1 | JOB1      | 14/05/2021 08:41:00 | ...     | ...      | ...        | ...   |
    | 1 | JOB2      | 14/05/2021 08:42:00 | ...     | ...      | ..         | ...   |
    | 1 | JOB1      | 14/05/2021 08:43:00 | ...     | ...      | ...        | ...   |
    | 1 | JOB3      | 14/05/2021 08:44:00 | ...     | ...      | ...        | ...   |
    | 2 |  JOB4     | 14/05/2021 08:45:00 | ...     | ...      | ...        | ...   |
    | 3 |   JOB5    | 14/05/2021 08:46:00 | ...     | ...      | ...        | ...   |
    | 3 |   JOB6    | 14/05/2021 08:47:06 | ...     | ...      | ...        | ...   |
    | 1 | JOB1      | 14/05/2021 08:45:00 | ...     | ...      | ...        | ...   |