Задать вопрос
@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 и т.д. то тогда выведет как надо, но это совсем не вариант ((
  • Вопрос задан
  • 206 просмотров
Подписаться 1 Оценить 6 комментариев
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@DReload Автор вопроса
Всем спасибо.
Буду теперь знать, что LEFT JOIN так не работает.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽