2014-01-10 2 views
1

Я хочу получить только те записи из fb, у которых установлен день рождения, я не хочу нулевые записи. У меня есть следующий запрос:Запрос FQL для извлечения только тех записей, у которых есть день рождения.

String fqlQuery = "{" + 
         "'friends':'SELECT uid2 FROM friend WHERE uid1 = me()'," + 
         "'friendinfo':'SELECT uid, name, pic_square, birthday FROM user WHERE uid IN" + 
         "(SELECT uid2 FROM #friends)'," + 
         "}"; 

он распаковывает все, я попробовал следующее:

String fqlQuery = "{" + 
         "'friends':'SELECT uid2 FROM friend WHERE uid1 = me()'," + 
         "'friendinfo':'SELECT uid, name, pic_square, birthday FROM user WHERE uid IN" + 
         "(SELECT uid2 FROM #friends)'," + "AND birthday != null"+ 
         "}"; 

Это не дает мне никакого результата, что правильный способ сделать это?

ответ

2

В FQL просто используйте AND something, чтобы проверить, нет ли something.

Здесь исправляется ваш FQL запрос:

{ 
'friends':'SELECT uid2 FROM friend WHERE uid1 = me()', 
'friendinfo':'SELECT uid, name, pic_square, birthday FROM user 
       WHERE uid IN(SELECT uid2 FROM #friends) 
       AND birthday' 
} 

Java код:

String fqlQuery = "{" + 
         "'friends':'SELECT uid2 FROM friend WHERE uid1 = me()'," + 
         "'friendinfo':'SELECT uid, name, pic_square, birthday FROM user WHERE uid IN" + 
         "(SELECT uid2 FROM #friends) AND birthday'"+ 
        "}"; 
+0

работает безупречно, спасибо :) – Skynet

+0

Также один последний запрос, я могу принести личную информацию, как номер телефона и адрес электронной почты ? – Skynet

+1

Вы не можете получить номера телефонов, хотя электронное письмо можно получить через поле «электронная почта». –

Смежные вопросы