2015-12-15 2 views
0

я пытаюсь создать внутренний присоединиться MySQL Query из двух таблиц:Inner присоединиться без результатов второй таблицы

'swatchset' 
->swatchset_id 
->swatchset_name 

'swatches' 
->swatch_id 
->swatch_name 
->swatch_hex 
->etc... 

я в настоящее время есть одна запись в таблице «swatchset»:

swatchset_id | swatchset_name

 8   default 

В таблице 'образчики' пуст.

Я хочу, чтобы получить как результат к «swatchset» «swatchset_name» Я предполагаю, что я не понимаю, INNER JOIN очень хорошо, потому что не приводит этот запрос ничего:.

SELECT `swatchset`.`swatchset_name`, `swatches`.`swatch_id`, `swatches`.`swatch_name`, `swatches`.`swatch_hex`, `swatches`.`swatch_type` FROM `swatchset` 
    INNER JOIN `swatches` 
    ON `swatches`.`f_swatchset_id` = `swatchset`.`swatchset_id` 
    WHERE `swatchset`.`swatchset_id` = '8'; 

Как я могу получить по крайней мере, нашел строку «swatchset» в результате?

+1

Использование 'ЛЕВЫЙ JOIN' вместо 'INNER JOIN' –

ответ

1

левое внешнее объединение наполнит NULLS столбцов второй таблицы, когда не найден:

SELECT `swatchset`.`swatchset_name`, `swatches`.`swatch_id`, `swatches`.`swatch_name`, `swatches`.`swatch_hex`, `swatches`.`swatch_type` FROM `swatchset` 
    LEFT OUTER JOIN `swatches` 
    ON `swatches`.`f_swatchset_id` = `swatchset`.`swatchset_id` 
    WHERE `swatchset`.`swatchset_id` = '8'; 

внутреннее соединение не возвращает записи из первой таблицы без согласования из них во второй таблице

Смежные вопросы