2013-11-01 4 views
0

Привет, ребята, я пытаюсь выполнить запрос fql, который ищет друзей по первой букве имени, я сделал этот запрос, но не показал мне правильный результат.Facebook fql поиск по первой букве имени

В этом случае я попытался собрать всех своих друзей с первой буквой «g», но CONTAINS doens't делать то, что я ищу. Есть другой способ?

SELECT uid , first_name, last_name FROM user WHERE uid IN 
(SELECT uid2 FROM friend WHERE uid1 = me()) AND (CONTAINS('g') 
AND strpos(lower(name),lower('g')) >=0) ORDER BY first_name ASC 

ответ

1

Проблема с вашим использованием StrPos(). Вы запрашиваете, чтобы все ваши друзья получили письмо «g» на свое имя. И, я думаю, нет смысла использовать содержит() здесь.

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

SELECT uid , first_name, last_name FROM user WHERE uid IN 
(SELECT uid2 FROM friend WHERE uid1 = me()) AND 
strpos(lower(first_name),lower('g')) = 0 ORDER BY first_name ASC 

Как вы можете видеть здесь, я использую strpos(lower(first_name),lower('g')) = 0. Это будет извлекать только тех друзей, у которых «g» - первая буква от их имени.

+0

Ровно спасибо! – fabrizio

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