oracle 找出最底层子树节点,问一个关于树节点查询的话语。

问一个关于树节点查询的语句。。

WBS表  有 wbsid ,parentid

TASK表  有 taskid  , wbsid

WBS下面有子WBS

子WBS 下面有 TASK

TASK是最底层节点

TASK表里有时间信息

我要查 一个 WBS 节点  下面 所有TASK  的 最大时间。。

关键是要找出来 这个WBS 下的 所有子WBS 下的TASK 。。。

请大神帮忙写下呗?

------解决方案--------------------

引用:WBS表  有 wbsid ,parentid

TASK表  有 taskid  , wbsid

WBS下面有子WBS

子WBS 下面有 TASK

TASK是最底层节点

TASK表里有时间信息

我要查 一个 WBS 节点  下面 所有TASK  的 最大时间。。

关键是要找出来 这个WBS 下的 所有子WBS 下的TASK 。。。

请大神帮忙写下呗?

也不知道是不是你想要的,你最后能够通过简单的数据来描述你想要的结果:

with WBS AS

(select 1 wbsid, null parentid

from dual

union all

select 2 wbsid, 1 parentid

from dual

union all

select 3 wbsid, 2 parentid

from dual

union all

select 4 wbsid, 3 parentid

from dual

union all

select 5 wbsid, 4 parentid from dual),

task as

(select 10 taskid, 1 wbsid

from dual

union all

select 20 taskid, 2 wbsid

from dual

union all

select 30 taskid, 3 wbsid

from dual

union all

select 40 taskid, 4 wbsid

from dual

union all

select 50 taskid, 5 wbsid from dual)

select *

from task,

(select *

from wbs

start with wbsid = 3

connect by parentid = prior wbsid) t1

where task.wbsid = t1.wbsid;

------解决方案--------------------

引用:WBS表  有 wbsid ,parentid

TASK表  有 taskid  , wbsid

WBS下面有子WBS

子WBS 下面有 TASK

TASK是最底层节点

TASK表里有时间信息

我要查 一个 WBS 节点  下面 所有TASK  的 最大时间。。

关键是要找出来 这个WBS 下的 所有子WBS 下的TASK 。。。

请大神帮忙写下呗?

SELECT MAX(TASK表中的时间)

FROM (SELECT WBSID

FROM WBS

START WITH WBSID = 你要查询的WBSID

CONNECT BY PARENTID = PRIOR WBSID) WBS,

TASK

WHERE WBS.WBSID = TASK.WBSID(+)

------解决方案--------------------

用wbsid=1为例子,查找父节点wbsid为1的任务的最大时间日期(其他的类型类似):

wbs数据:

14245328.png

task数据:

14245329.png

select c.parentid, max(c.task_date)

from (select b.taskid, a.wbsid, a.parentid, b.task_date

from (select wbsid, parentid from wbs where parentid = 1) a,

task b

where a.wbsid = b.wbsid) c

group by c.parentid;

运行结果:

14245330.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于LSTM的财务因预测选股模型LSTM (Long Short-Term Memory) 是一种特殊的循环神经网络(RNN)架构,用于处理具有长期依赖关系的序列数据。传统的RNN在处理长序列时往往会遇到梯度消失或梯度爆炸的题,导致无法有效地捕捉长期依赖。LSTM通过引入门控机制(Gating Mechanism)和记忆单元(Memory Cell)来克服这些题。 以下是LSTM的基本结构和主要组件: 记忆单元(Memory Cell):记忆单元是LSTM的核心,用于存储长期信息。它像一个传送带一样,在整个链上运行,只有一些小的线性交互。信息很容易地在其上保持不变。 输入门(Input Gate):输入门决定了哪些新的信息会被加入到记忆单元中。它由当前时刻的输入和上一时刻的隐藏状态共同决定。 遗忘门(Forget Gate):遗忘门决定了哪些信息会从记忆单元中被丢弃或遗忘。它也由当前时刻的输入和上一时刻的隐藏状态共同决定。 输门(Output Gate):输门决定了哪些信息会从记忆单元中输到当前时刻的隐藏状态中。同样地,它也由当前时刻的输入和上一时刻的隐藏状态共同决定。 LSTM的计算过程可以大致描述为: 通过遗忘门决定从记忆单元中丢弃哪些信息。 通过输入门决定哪些新的信息会被加入到记忆单元中。 更新记忆单元的状态。 通过输门决定哪些信息会从记忆单元中输到当前时刻的隐藏状态中。 由于LSTM能够有效地处理长期依赖关系,它在许多序列建模任务中都取得了很好的效果,如语音识别、文本生成、机器翻译、时序预测等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值