@IceJOKER
Web/Android developer

Как вывести возможных друзей(sql запрос) ?

Нужно вывести всех пользователей с общими друзьями.
для текущего пользователя (пускай будет с id-ом 1) друзья выбираются так:
структура таблицы:
to_id, from_id
1 2
5 1
3 2
3 5
//тут у пользователя c id-1 возможных друзей 1 - это пользователь с id-ом 3
select if(to_id = 1 , from_id, to_id) friend_id from friends_table f1 where f1.to_id = 1 or f1.from_id = 1
  • Вопрос задан
  • 2755 просмотров
Пригласить эксперта
Ответы на вопрос 2
@vdem
Не уверен, может так:
SELECT *
FROM friends f
    INNER JOIN friends f1 ON f1.from_id = f.to_id
    INNER JOIN friends f2 ON f2.to_id = f.from_id
WHERE f.from_id = 1
    OR f.to_id = 1

Потом из результата (и столбцов и строк) убрать повторяющиеся id.
Ответ написан
Комментировать
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
SELECT to_id FROM friends_table WHERE to_id IN (SELECT from_id FROM friends_table WHERE to_id = 1);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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