2013-11-01 39 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'的所有朋友。而且,我认为在这里使用contains()没有意义。

这个查询将正常工作为你的任务:

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