RSS-подписка

RSS-лента

Новые статьи

Последние комментарии


Получать обновления на эл. почту

Ваш e-mail:

Рассылка новостей от Loco

MySQL ошибка: Unknown column 'table_name.id' in 'on clause'

Нет картинки Запрос с выборкой из нескольких таблиц, перечисляемых через запятую, с приджойниванием работает неправильно из-за более высокого приоритета JOIN

Следующий запрос выдаёт ошибку - Unknown column 'tb1.id' in 'on clause'

SELECT tb1.content, tb2.content1, tb3.content3
FROM tb1, tb2
LEFT JOIN tb3 ON tb3.id_tb1 = tb1.id
WERE ...

Это происходит, потому что (LEFT) JOIN имеет более высокий приоритет, чем оператор-запятая. Вместо запятой надо писать тоже JOIN, например, вот так

SELECT tb1.content, tb2.content1, tb3.content3
FROM tb1
LEFT JOIN tb2 ON tb2.id_tb1 = tb1.id
LEFT JOIN tb3 ON tb3.id_tb1 = tb1.id
WERE ...

 

 

almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.

Вы можете почитать все статьи от almix'а.



Другие статьи по этой теме:

Комментарии (0)     Подпишитесь на RSS комментариев к этой статье.