带有IN,NOT关键字的FQL SELECT查询

时间:2011-11-29 09:31:40

标签: facebook facebook-fql

我正在试图找回所有想要很少人的朋友。

我形成了像这样的查询

    SELECT uid,name FROM user WHERE uid NOT IN ($x)

检索每个人都期望那些在$ x中的人。

This is giving me an fatal error Uncaught Exception: 601: Parser error: unexpected 'NOT

提前致谢!

2 个答案:

答案 0 :(得分:3)

您可以使用WHERE NOT (columnName IN (things 'not in')

就像这个例子:

SELECT post_id, message
 FROM stream 
 WHERE source_id IN ( SELECT page_id 
                        FROM page 
                       WHERE name='coca-cola'
                    ) 
   AND NOT (message IN ( 'probando cocacola'
                       , 'Stijn '
                       , 'Ha ha ha me crezy hu'
                       , ''
                       )
           )
LIMIT 50

答案 1 :(得分:2)

“NOT IN”不是FQL支持的功能。参考:http://forum.developers.facebook.net/viewtopic.php?id=1420

我建议使用这样的东西来吸引所有朋友:

SELECT uid, name FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=me())

然后在你的脚本中,当它返回忽略那些你不想要的东西时,假设你使用的是类似的东西:

foreach( $result['data'] as $row )
{
  if( !in_array($row['uid'], $x) // do stuff
  else // ignore
}

希望有所帮助。