2013-06-01 3 views
-5

Я использую этот код для поиска своих друзей, где я являюсь членом of.but не работает ...!КАК ПОЛУЧИТЬ ДРУЗЬЯ В ГРУППЕ

select uid2 from friend where uid1 IN (SELECT uid FROM group_member WHERE gid = '111111111')

+1

Откуда вы знаете, что это не работает? – user35443

+0

Я пытаюсь использовать средства facebook explorer.this ошибка кода: «ошибка»: { «сообщение»: «Не удается найти всех друзей из 100004015920032 из-за настроек конфиденциальности пользователя»., «type»: «NoIndexFunctionException», «code»: 604 –

+0

Я предполагаю, что настройки конфиденциальности пользователя 100004015920032 не позволяют вам искать список своих друзей? – Igy

ответ

2

это должно работать:

select uid,gid from group_member where gid in (select gid from group_member where uid=me()) order by gid 

Это получить весь идентификатор пользователя и идентификатор группы из группы, где идентификатор группы находится в группе, в которой вы являетесь членом.

, но я предлагаю вам разделить его на 2 запроса: получить идентификаторы группы, где вы находитесь, и затем получить для каждой группы, идентификаторы членов

select gid from group_member where uid=me() 

, а затем через цикл результаты

выберите идентификатор пользователя из group_member где GID = {} group_id

для данных пользователей:

Обратите внимание: чем больше запрос является сложным, более Wi будет время, необходимого

select name from user where uid in(select uid from group_member where gid in (select gid from group_member where uid=me())) 

поэтому я предлагаю, для каждой группы:

выберите имя от пользователя, где UID в (выбрать UID из group_member, где GID = {group_id})


here является ссылкой на таблицу пользователей, поэтому вы можете добавить поля, необходимые в дополнение к 'name'

+0

его работа fine.but, как я получаю firends данные в spesific группе, где я член в группе. –

+0

@ RatnaWulan Обновлено –

+0

@ RatnaWulan сообщите мне, если вам нужно что-то другое или мой ответ удовлетворительный, пожалуйста, –