DPhil
@DPhil
Контент-менеджер

Как в LEFT JOIN сделать условие объединения таблиц по нескольким полям?

Есть две таблицы. В таблице `names` поля: `id`, `name`, `street`, `house`. В таблице `professions` поля: `id`, `profession`, `street`, `house`. То есть по сути адреса разбиты на два поля: улица и дом.

Вопрос, как соединить эти таблицы LEFT JOIN с условием, чтобы одновременно совпадали улицы и дома? Я делаю так, но он возвращает NULL вместо значений из второй таблицы:

SELECT `names`.`name`, `professions`.`profession`
FROM `names`
LEFT JOIN `professions`
ON `names`.`street` = `professions`.`street` AND `names`.`house` = `professions`.`house`
  • Вопрос задан
  • 6149 просмотров
Решения вопроса 1
@d-stream
Готовые решения - не подаю, но...
Собственно синтаксически все верно. Вопрос в реальном совпадении строк в таблицах (пробелы, кодировки и т.п.)

Что дадут join только с первым и только со вторым условием?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@rPman
Зарос выглядит правильным, значит что то с данными не так.

Посмотри что выводит запрос если оставить только одно условие к примеру по street? и выводи в select *
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы