Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Хитрый запрос (mcfly) 24/04/2009 - 11:28:25
      Re: Хитрый запрос (Diter) 25/04/2009 - 19:30:13
      Re: Хитрый запрос (mcfly) 27/04/2009 - 09:07:11
      Re: Хитрый запрос (Diter) 27/04/2009 - 18:05:46
      Re: Хитрый запрос (igorsia) 30/04/2009 - 11:35:08

> Original message text:
> From: mcfly - 24/04/2009 - 11:28:25
> Subject:Хитрый запрос
> -----------------
> Имеем две таблицы users и friends. В users хранятся данные пользователей (id, name). Во friends (id, user1_id, user2_id) хранятся отношения пользователей, которые находятся в друзьях. user1_id - это пользователь который подал запрос на добавление, а user2_id - это кто разрешил.
>
> Теперь вопрос: Каким образом подать запрос, чтобы получить список друзей (данных из users) пользователя по ид пользователя.
>
> Заморочка в том, что ид пользователя может быть как в поле user1_id, так и в поле user2_id :)
>
> Заранее благодарствую :)
>


From: mcfly - 27/04/2009 - 09:07:11
Subject:Хитрый запрос
-----------------
Ваша структура отличается от моей тем, что пользователь добавляется в таблицу друзей сразу, после отправки запроса. А в моем случае, запросы на добавление в друзья хранятся в другой таблице.

Представим, что пользователь 1 подал заявку на добавление в друзья пользователю 5. 1 отправляет запрос для 5 (запрос кладется в другую таблицу), далее 5 подтверждает дружбу, запрос из таблицы запросов удаляется и пользователи добавляются в таблицу friends следующим образом: user1_id = 1, user2_id = 5. Такое хранение удобно тем, что если указывать user_id и friend_id (указываем друга для юзера), то надо будет указывать друга как для пользователя 1, так и для пользователя 5. То есть:

id user_id friend_id
1 1 5
2 5 1

А в моем случае, мы бы просто указали отношение друзей, то есть первый пользователь в отношении = 1, а другой 5:

id user1_id user2_id
1 1 5

Получается в два раза меньше записей в бд




[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
35508



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |