2011-07-28 3 views

答えて

4

あなたはINを後方に考えています。あなたが探しているクエリは次のとおりです。

SELECT message FROM checkin WHERE me() IN tagged_uids 

しかしtagged_uidsnot indexableあるので、あなたは(実際にチェックインを記録している人のように)このクエリを実行する前に、あなたはより多くの情報を知っておく必要があります。あなたが試みることができることの一つは、次のとおりです。これは、ユーザーの友人(とにかく、そのユーザーに確認することができますおそらく唯一の人)であり、ユーザーがタグ付けされているすべてのチェックインを検索します

SELECT message FROM checkin 
WHERE author_uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) 
    AND me() IN tagged_uids 

+1

'tagged_uids' [配列](http://developers.facebook.com/docs/reference/fql/checkin/)。列名を使用する必要はありません。だから、あなたは 'IN'を使うことができます。 あなたは確かに 'tagged_uids'カラムを照会することができますが、*排他的に*照会することはできません。これは、フィールドがインデックス可能であることを意味します。私の 'WHERE'には別のインデックス可能なフィールドがあるので、そのクエリは有効です。 –

+0

ありがとう..そのことを考えていなかった –

+1

今後の読者には小さなメモ。これは、私の友人の友人を見るための許可がないので、me()を使用している場合にのみ機能します –

関連する問題