Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Список друзей
 
 автор: Ghost_user   (22.12.2009 в 17:37)   письмо автору
 
 

Столкнулся с данной проблемой!

Помогите составить запрос, который выбрал бы записи, если у каждого взаимно добавлен друг.

Таблица, вариант 1:
user_id friend_id
1       2

2       1


Таблица, вариант 2:
user_id friend_id
1       2


в 1 варианте пользователь с user_id имеет друга friend_id
а во 2 - user_id не имеет друзей, так как пользователь friend_id не имеет друга

  Ответить  
 
 автор: root   (22.12.2009 в 18:28)   письмо автору
 
   для: Ghost_user   (22.12.2009 в 17:37)
 

SELECT f1.* FROM friends f1
  INNER JOIN friends f2
  ON f1.friend_id = f2.user_id
  AND f1.user_id = f2.friend_id;

  Ответить  
 
 автор: Ghost_user   (22.12.2009 в 18:42)   письмо автору
 
   для: root   (22.12.2009 в 18:28)
 

почему возращает 2 записи, если должна быть одна, то есть mysql возращает и у пользователя друга и самого друга

  Ответить  
 
 автор: root   (22.12.2009 в 18:51)   письмо автору
 
   для: Ghost_user   (22.12.2009 в 18:42)
 

>...который выбрал бы записи, если у каждого взаимно добавлен друг.

именно это запрос и выводит.

Если Вам нужны друзья конкретного пользователя добавьте соответствующее условие.

  Ответить  
 
 автор: Ghost_user   (22.12.2009 в 19:40)   письмо автору
 
   для: root   (22.12.2009 в 18:51)
 

ок спс

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования