Как заменить значения NULL с одной таблицы на значения с другой таблицы при FULL OUTHER JOIN?

Проверьте пжл правильность запроса SQL. У меня есть таблица (Table_1). Вот пример данных:

Id  Value   Info
1   NULL    Test_1
2   12      Test_2
3   21      NULL
4   NULL    Test_4
5   12      Test_5
6   7       Test_6
7   21      Test_7

И есть 2-я таблица (Table_2). Вот такая:

Id  Value
1   32
12  NULL
4   NULL
12  31

Я хочу сделать следующий SELECT:

  1. Если Id в таблице 1 совпадает с Id в таблице 2, и значение поля Value в таблице 1 NULL, то я его заменяю на значение Value с таблицы 2.

  2. Если какое-то Id из таблицы 2, не встречается в таблице 1, то я добавляю это значение в SELECT. Если какого-то поля не существует, то я его заменяю на NULL.

  3. Если какое-то Id из таблицы 1 не встречается в таблице 2, я оставляю запись так, как есть.

Вот мой код:

SELECT Table_1.Id, Table_1.Value, Table_1.Info
CASE 
    WHEN Table_1.Value IS NULL THEN Table_2.Value ELSE Table_1.Value
END AS Value,
FROM Table_1
FULL OUTER JOIN Table_2
ON Table_1.Id = Table_2.Id

Правильно ли я решил задачу? Спасибо)


Ответы (0 шт):