Roman, du skal lave en fuld ydre joinforbindelse på dit valg, så for enhver given begivenhedstype-id (og jeg antager, at du vil have 0 eller 1 række i både dine tidligere og fremtidige tabeller for et bestemt begivenhedstype-id), du vil udskrive en enkelt række og de relevante null- og ikke-null-datoer.
Det første svar vil ikke kombinere datoerne fra de to kilder i en enkelt række, hvilket jeg tror, du bad om.
Det andet svar var tættere på, men ville kun fungere for rækker med både en tidligere og fremtidig dato (dvs. en i hver tabel) på grund af den indre sammenføjning.
Eksempel:
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
Bemærk, at nvl-funktionen er for Oracle og vil bruge den første ikke-nul, den ser. ISNULL kan bruges til SQL Server.