Roman, je moet een volledige outer join doen op je select zodat, voor een bepaald evenementtype-ID (en ik neem aan dat je 0 of 1 rij in zowel je verleden als toekomstige tabellen zult hebben voor een bepaald evenementtype-ID), u voert een enkele rij uit, en de juiste null- en niet-null-datums.
Het eerste antwoord zal de datums van de twee bronnen niet combineren in een enkele rij, en dat is waar je volgens mij om vroeg.
Het tweede antwoord was dichterbij, maar zou alleen werken voor rijen met zowel een datum in het verleden als een toekomstige datum (dwz:één in elke tabel) vanwege de inner join.
Voorbeeld:
insert into event_target (event_type_id, past_event_date, future_event_date)
select nvl(p.event_type_id, f.event_type_id), p.event_date, f.event_date
from
events_source_1 p full outer join
events_source_2 f on p.event_type_id = f.event_type_id
Merk op dat de nvl-functie voor Oracle is en de eerste niet-null die het ziet zal gebruiken. ISNULL kan worden gebruikt voor SQL Server.