2

在文档中它只提到 AND 和 NOT。我尝试使用 OR 的原因是将大型结果集分解为多个查询并确保查询不会失败。

例如:此查询返回一个结果:

从流中选择 post_id WHERE (source_id = '100000462790227') AND strpos(lower(message),'sweet') >=0 AND (filter_key = 'others')

但是当我在过滤键上添加 OR 时,我得到了空结果

SELECT post_id FROM stream WHERE (source_id = '100000462790227') AND strpos(lower(message),'sweet') >=0 AND (filter_key = 'others' OR filter_key = 'nf')

是 OR,还是我做错了什么?

4

2 回答 2

1

我终于明白什么是核心问题了。流表 filter_key 'other' 和 'owner' 仅适用于一个 source_id。我的原始查询也对多个 source_id 进行了 OR 操作,例如 (source_id = '100000462790227' OR source_id = '12345670' )。

这个组合返回空结果!!

于 2012-10-19T18:38:05.873 回答
0

以下是我的结论和观察:

FQL 支持第一个“OR”。

当 iOS SDK 调用成功时,我看到“Graph API explorer”的一个问题有时会失败

如果您使用“LIMIT X”限制呼叫,其中 X 小于 100,您也会在第二个查询中得到答案。关于与大型结果集相关的问题以及正确的限制是什么的帖子很少(我读到的都是基于反复试验的)。

于 2012-10-09T22:49:49.990 回答