Я хотел бы объединить таблицы, только если все столбцы совпадают или если несоответствующие столбцы связаны с NULL
Например, если я хочу присоединиться к таблице t1
, это выглядит так:
id | column1 | column2 | column3
----+---------+---------+---------
A | NULL | 1 | NULL
B | NULL | 3 | v5
C | v6 | NULL | NULL
Для таблицы t2
это выглядит так:
id | column1 | column2 | column3
----+---------+---------+---------
A | v1 | 1 | v2
A | NULL | 2 | v3
B | v4 | NULL | NULL
C | v7 | 4 | v8
Я хотел бы, чтобы результирующая целевая таблица была:
id | column1 | column2 | column3
----+---------+---------+---------
A | v1 | 1 | v2
A | NULL | 2 | v3
B | v4 | 3 | v5
C | v6 | NULL | NULL
C | v7 | 4 | v8
Где row1 в t1
и row1 в t2
объединяются, а row2 в t1
и row3 в t2
объединяются, сохраняя при этом другие строки в t1
и t2
без совпадений.
Будет ли это каким-то образом достижимо с помощью COALESCE и FULL JOIN или любых других методов?