根据SQL中的日期创建父子关系

时间:2019-04-18 04:20:46

标签: sql database sap hana

我有一个表,该表包含我的节点和父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有效。

2 个答案:

答案 0 :(得分:1)

对于时间相关的层次结构,如果满足先决条件,则可以使用层次结构生成器功能HIERARCHY_TEMPORAL。对于您的情况也应该有效。

您能解释一下,为什么不能像您所说的那样使用任何层次功能吗?

答案 1 :(得分:0)

抱歉,我不是SAP人员,但是这样的事情怎么办?

Create table daterelation
(
  child numeric,
  parent numeric,
  startdate datetime,
  enddate datetime,
)

然后您可以创建一个带有日期并加入结果的视图或函数。