2015-06-14 3 views
0

Рассмотрим две таблицы:значение NULL на LEFT JOIN операции

• draft_procedures 
• incoterms 

Таблица draft_procedures имеет столбец

1. incoterm 

Таблица Инкотермс имеет столбец

1. incotermUNIQUE 
2. incoterm_desc 

Im пытается присоединиться вверх по двум вкладкам les, чтобы получить incoterm_desc (описание) из таблицы incoterm черновика сквозной обработки.

Когда я использую следующий запрос я получаю значение c3incoterm_desc NULL

SELECT drp.incoterm, c3.incoterm_desc as c3incoterm_desc 
FROM draft_procedures AS drp 
LEFT JOIN incoterms AS c3 ON drp.incoterm = c3.incotermUNIQUE 
+2

Это то, что нужно сделать «LEFT JOIN» *. Что вы хотите сделать? –

+0

Я хочу получить текстовое описание инкотерм из таблицы инкотермс. table draft содержат колонку «incoterm» с внутренней ссылкой, которая также находится на табличных «инкотермс» в столбце incotermUNIQUE. incoterm.incoterm_desc имеет текстовое описание –

+2

Ваш запрос делает это. Вы получаете 'NULL', когда нет совпадения. –

ответ

0

левое внешнее соединение: Согласно определению, LEFT OUTER JOIN извлекает строки из TableA (draft_procedures) с соответствующими записями из TableB (Инкотермс) Если для определенной записи из таблицы A (слева) нет соответствующих записей из TableB (справа), соответствующие (правые) столбцы содержат нули.

Select * FROM TableA LEFT OUTER JOIN TableB на TableA.name = TableB.name;