我有一个表,该表包含我的节点和父ID以及该特定关系的开始和结束日期。我想尝试使用SQL创建父子关系,或者将其存储到另一个表中,或者直接在将时间维度考虑在内的select语句中。我正在使用SAP HANA数据库,而Hierarchy函数将是必经之路,但它们并未考虑时间维度。同样,SAP HANA不支持递归sql。
我试图在下图中描述它。如您所见,节点7在2019年初从4-> 5移动。
当我有一个子节点,但节点8上没有到期日期时,就会出现问题。然后它也应该移动,但是在2016年结束的节点9不会。
1
/ \
2 3
/ \
4 5
/ \
7 Ends(2018) 7 starts(2019)
/ \ \
8 9 ends(2016) 8
所以理想情况下,我可以得到一张表格,其中要转移的7和8获得一个新的唯一ID,或者至少清楚地表示为在2019年之后仅对5有效。
答案 0 :(得分:1)
对于时间相关的层次结构,如果满足先决条件,则可以使用层次结构生成器功能HIERARCHY_TEMPORAL。对于您的情况也应该有效。
您能解释一下,为什么不能像您所说的那样使用任何层次功能吗?
答案 1 :(得分:0)
抱歉,我不是SAP人员,但是这样的事情怎么办?
Create table daterelation
(
child numeric,
parent numeric,
startdate datetime,
enddate datetime,
)
然后您可以创建一个带有日期并加入结果的视图或函数。