Romane, na svém výběru musíte provést úplné vnější spojení, takže pro jakékoli dané id typu události (a předpokládám, že budete mít 0 nebo 1 řádek v tabulkách minulosti i budoucnosti pro jakékoli konkrétní id typu události) vypíšete jeden řádek a příslušná data null a non null.
První odpověď nebude spojovat data z těchto dvou zdrojů do jednoho řádku, což je podle mého názoru to, co jste požadovali.
Druhá odpověď byla bližší, ale díky vnitřnímu spojení by fungovala pouze pro řádky s minulým i budoucím datem (tj. jeden v každé tabulce).
Příklad:
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
Všimněte si, že funkce nvl je pro Oracle a použije první nenulovou, kterou vidí. ISNULL lze použít pro SQL Server.