2

ドキュメントでは、ANDとNOTのみに言及しています。ORを使用しようとしている理由は、大きな結果セットを複数のクエリに分割し、クエリが失敗しないようにするためです。

次に例を示します。このクエリは1つの結果を返します。

SELECT post_id FROM stream 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' は、1 つの source_id でのみ機能します。私の元のクエリには、 (source_id = '100000462790227' OR source_id = '12345670' ) のような複数の source_id に対する OR もありました。

この組み合わせは空の結果を返します!!

于 2012-10-19T18:38:05.873 に答える
0

ここに私の結論と観察があります:

最初の「OR」は FQL でサポートされています。

私が見た問題の 1 つは、iOS SDK 呼び出しが成功したときに、「グラフ API エクスプローラー」が失敗することです。

X が 100 未満の " LIMIT X" で呼び出しを制限すると、2 番目のクエリでも回答が得られます。大規模な結果セットと適切な制限に関連する問題に関する投稿はほとんどありません (私が読んだものはすべて試行錯誤に基づいています)。

于 2012-10-09T22:49:49.990 に答える