【问题标题】:FQL SELECT query with IN ,NOT Keyword带有 IN ,NOT 关键字的 FQL SELECT 查询
【发布时间】:2013-12-23 17:24:59
【问题描述】:
我正在尝试检索我所有的朋友,预计人数很少。
我形成了这样的查询
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
提前致谢!
【问题讨论】:
标签:
facebook
facebook-fql
【解决方案1】:
您可以使用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
【解决方案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())
然后在你的脚本中,当它返回时忽略那些你不想要的,假设你正在使用 php 之类的东西:
foreach( $result['data'] as $row )
{
if( !in_array($row['uid'], $x) // do stuff
else // ignore
}
希望对您有所帮助。