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

Почему не работает LEFT JOIN?

Есть таблицы:
favorite_suppliers
id, user_id, ...

friend_requests
id, user_id, created...

Пытаюсь соединить эти таблицы, чтобы отсортировать по значению created (если оно есть) из второй таблицы

SELECT `favoritesupplier`.`id` AS `id`, `favoritesupplier`.`user_id` AS `user_id`, `favoritesupplier`.`supplier_id` AS `supplier_id`, `favoritesupplier`.`created` AS `created` FROM `favorite_suppliers` AS `favoritesupplier` LEFT JOIN `friend_requests` ON (`friend_requests`.`user_id` = `favorite_suppliers`.`user_id`)


Получаю ошибку: #1054 - Unknown column 'favorite_suppliers.user_id' in 'on clause'

Почему так? Что я не правильно делаю?
  • Вопрос задан
  • 759 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 3
DevMan
@DevMan
не мешайте favorite_suppliers и favoritesupplier, используйте что-то одно.
Ответ написан
Комментировать
SELECT `favoritesupplier`.`id` AS `id`, `favoritesupplier`.`user_id` AS `user_id`, `favoritesupplier`.`supplier_id` AS `supplier_id`, `favoritesupplier`.`created` AS `created` FROM `favorite_suppliers` AS `favoritesupplier` LEFT JOIN `friend_requests` ON (`friend_requests`.`user_id` = `favoritesupplier`.`user_id`)
Ответ написан
Комментировать
@kirill-93
Ну вы же сами пишите FROM `favorite_suppliers` AS `favoritesupplier`, значит и в джоин нужно писать favoritesupplier, а не favorite_suppliers
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Melkij
@Melkij
PostgreSQL DBA
Занимаетесь непонятными переименовываниями таблиц.
Выражение в условии объединения таблиц работает уже с алиасом, о чём (что ему не всегда свойственно) вам весьма доходчиво сообщает MySQL.
Ответ написан
Ваш ответ на вопрос

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

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