У меня есть таблица, состоящая из моих узлов и родительских идентификаторов, а также даты, когда они действительны с и по для этих конкретных отношений. Я хочу попытаться создать родительские дочерние отношения, используя SQL, либо сохраняя их в другой таблице, либо непосредственно в операторе select, который учитывает измерение времени. Я работаю над базой данных SAP HANA, и функции иерархии будут подходить, но они не учитывают измерение времени. Также SAP HANA не поддерживает рекурсивный sql.
Я пытался изобразить это на диаграмме ниже. Как вы можете видеть, узел 7 перемещается из 4 -> 5 в начале 2019 года.
Проблема возникает, когда у меня есть дочерний узел, у которого нет даты истечения срока действия на узле 8. Тогда это также должно двигаться, но узел 9, который заканчивается в 2016 году, не должен.
1
/ \
2 3
/ \
4 5
/ \
7 Ends(2018) 7 starts(2019)
/ \ \
8 9 ends(2016) 8
Так что в идеале я могу получить таблицу, в которой 7 и 8, которые переводят, получают новый уникальный идентификатор или, по крайней мере, четко представлены как действительные только до 5 после 2019 года.