Множественные соединения с двумя внешними ключами в одной таблице возвращают нулевой результат

У меня есть два стола, и я хотел соединить два стола вместе.

(tbl_user)

id | user_name
6  | 11223  
5  | 3322
7  | 5566
8  | 7788

(tbl_friends)

я объединяю эти два столбца в уникальный

user_one_id | user_two_id
5|8
5|6

Запрос:

SELECT user.user_name
FROM tbl_user user
INNER JOIN tbl_friends a
ON user.user_id = a.user_one_id
INNER JOIN tbl_friends b
ON user.user_id = b.user_two_id;
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
0
57
2

Ответы 2

Правильная идея, неправильная реализация. Возможно, вам захочется:

SELECT u1.user_name as name1, u2.user_name as name2
FROM tbl_friends f JOIN
     tbl_users u1
     ON u1.user_id = f.user_one_id JOIN
     tbl_users u2
     ON u2.user_id = f.user_two_id;

хорошо, хорошо, ха-ха, спасибо, но эммм, тебе не хватает одного присоединения после tbl_friends f

aaa fyp 25.05.2018 05:44

Пожалуйста, выполните запрос ниже

SELECT u1.user_name name1, u2.user_name name2
FROM tbl_friends fn
        Join
     tbl_users u1
     ON u1.id = fn.user_one_id JOIN
     tbl_users u2
     ON u2.id = fn.user_two_id;

Это не дает ответа на вопрос. Как только у вас будет достаточно репутация, вы сможете комментировать любой пост; вместо этого дать ответы, не требующие пояснений от спрашивающего. - Из обзора

Sree 25.05.2018 10:21

@Sree Это ответ. Если вы считаете, что ответ неправильный, тогда проголосуйте против.

Mark Rotteveel 25.05.2018 10:40

@MarkRotteveel Прежде всего, мои комментарии из обзора. Второй для INNER JOIN не рекомендую. Владелец поста должен проголосовать против.

Sree 25.05.2018 10:44

@Sree Я тоже сюда попал из обзора. И я указываю, что вы просмотрели неправильно. Это ответ; возможно, плохой, но он не требует удаления. Это гарантирует отрицательный голос (и вам разрешено отрицательное голосование, это касается не только OP). Если вы считаете, что ответ неправильный или плохой, тогда проголосуйте против. Вы должны удалять из обзора только неответы (комментарии или мусор), спам или ответы, содержащие только ссылки.

Mark Rotteveel 25.05.2018 10:45

Другие вопросы по теме