SQL: (Outer-)Join von VALID FROM VALID TO / AB BIS Tabellen / Zeitraumangaben / multi-temporalen Angaben
Beim JOIN von Tabellen mit AB- und BIS-Gültigkeitsangaben ist wichtig zu beachten, dass im Ergebnis des JOIN ggfs. zusätzliche Zeilen "entstehen", da sich die zusammengeführten Zeiträume möglicherweise "aufsplitten". Ein Beispiel: Die ID 1 und 2 haben als Kennzeichen A vom 01.01.2021 bis 14.01.2021 ein "D". Ab 15.01. wechsel das Kennzeichen auf "E". Das Kennzeichen B der ID 1 wechselt am 15.02.2021 von "K" auf "L". ID 2 hat KEIN Kennzeichen B. -- Left-Outer Join - korrekt select F1.ID , F1.KNZ_A , F2.KNZ_B , GREATEST (F1.AB, nvl (F2.AB, F1.AB)) AB , LEAST (F1.BIS, nvl (F2.BIS, F1.BIS)) BIS , F1.AB F1_AB , F1.BIS F1_BIS , F2.AB F2_AB , F2.BIS F2_BIS from FS_AB_BIS1 F1 left join FS_AB_BIS2 F2 on F1.ID = F2.ID and F1.AB <= F2.BIS and F1.BIS >= F2.AB order by F1.ID , GREATEST (F1.AB, nvl (F2.AB, F1.AB