Задать вопрос
@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'

Почему так? Что я не правильно делаю?
  • Вопрос задан
  • 779 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Решения вопроса 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
DBA для вашего PostgreSQL?
Занимаетесь непонятными переименовываниями таблиц.
Выражение в условии объединения таблиц работает уже с алиасом, о чём (что ему не всегда свойственно) вам весьма доходчиво сообщает MySQL.
Ответ написан
Ваш ответ на вопрос

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

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