Задать вопрос
@DReload

Что не правильно делаю в left join mysql?

Здравствуйте.
Изучаю потихоньку mysql.
Смотрю left join.
SELECT *
FROM table1 i
LEFT JOIN table2   as c ON i.id = c.id
LEFT JOIN table3   as p ON c.id_t = p.id_t 
Limit 1,5


На выходе, через heidySQL получаю все поля из трёх таблиц.
Делаю этот запрос через php. И вывожу на экран.
Array ( [0] => Array ( [id] => [id_t] => [number] => 1000007 [name] => Val [id_type] => 0 [id_on] => [full_name] => [article_general]

И получается, что если у таблицы 3 поле id -не существует, то в результирующем значении.
id окажется пустым. Так же и с другими полями. Для всех них есть значения в первой таблице, но при left join на выходе получается пустое значение. Я просто не понимаю что не так делаю. и почему left join берет значение полей из таблицы 2-3, которые не существуют, а не поле из первой таблицы.

Если выбирать из таблицы не *, а i.*, p.id as p_id и т.д. то тогда выведет как надо, но это совсем не вариант ((
  • Вопрос задан
  • 205 просмотров
Подписаться 1 Оценить 6 комментариев
Пригласить эксперта
Ответы на вопрос 1
@DReload Автор вопроса
Всем спасибо.
Буду теперь знать, что LEFT JOIN так не работает.
Ответ написан
Ваш ответ на вопрос

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

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