Объединение трех таблиц со сравнением пустых столбцов - PullRequest
0 голосов
/ 02 марта 2020

У меня есть 3 таблицы:
Таблица 1: COL1 (основной), COL2
Таблица 2: COL1 (основной, обнуляемый), COL2
Таблица 3: COL1 (основной), COL2 (ссылка на внешний ключ) Таблица 1), COL3 (Ссылка на внешний ключ, Таблица 2), COL4

Теперь я хочу объединить все 3 таблицы и извлечь все значения таблицы.
У меня есть следующий запрос на соединение, чтобы получить data

select Table1.COL1,
Table1.COL2,
Table2.COL1,
Table2.COL2,
Table3.COL1,
Table3.COL4
from Table1
INNER JOIN Table3 ON Table1.COL1=Table3.COL2
INNER JOIN Table2 ON Table3.COL3=Table2.COL1;

Поскольку Table2.COL1 имеет значение NULL, никакие значения не извлекаются, это NULL. Как я могу манипулировать своим запросом, чтобы получить все столбцы, даже если Table2.COL1 равен NULL, а все значения в этом столбце равны NULL?

1 Ответ

0 голосов
/ 02 марта 2020

LEFT JOIN предназначен для нулевой обработки при объединении таблиц. Вы можете попробовать запрос ниже -

select Table1.COL1,
       Table1.COL2,
       Table2.COL1,
       Table2.COL2,
       Table3.COL1,
       Table3.COL4
from Table2
LEFT JOIN Table3 ON Table3.COL3=Table2.COL1
LEFT JOIN Table1 ON Table1.COL1=Table3.COL2;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...