2012-05-09 1 views
1

:!FQL NOT、EXCEPTのような等価演算子<>、IN =私はこのコードを開発しようとしている

アイデアは、私はオペレータではなく、NOT INを使用したくないということです
$users = $facebook->api(array(
    'method' => 'fql.query', 
    'query' => "SELECT uid, last_name, pic_big" 
      + " FROM user WHERE uid IN (" 
      + "  SELECT uid" 
      + "  FROM page_fan" 
      + "  WHERE page_id='411133928921438'" 
      + "   AND uid IN (" 
      + "    SELECT uid2 FROM friend WHERE uid1 = me()" 
      + "  )" 
      + ")" 
)); 

、しかし、FQLは、私はFQLでそれを行うことができますどのように...除き、NOT INのような演算子をサポートしていません?...

答えて

1

FQLでオペレータでNO ないではありません。 INを使用して単純な選択を行い、否定にPHPを使用することができます。ちょっとオーバーヘッドですが、私が知る限り、それは唯一の方法です。

私は関連記事を見つけました:link here

15

FacebookはNOT INをサポートしています。あなたはちょうど十分な括弧でそれをラップする必要があります。現在のユーザーWTH現在のユーザーや友人ではないイベントに参加ユーザーを見つけるために例えば

、:

SELECT uid, name FROM user WHERE uid IN (
    SELECT uid FROM event_member WHERE eid=209798352393506 
) 
AND NOT (uid=me()) 
AND NOT (uid IN (
    SELECT uid1 FROM friend WHERE uid2=me() 
)) 
+0

これはちょうど条件を入れて、AND NOT 'を追加することができます------例えば "WHERE filter_key =' nf 'AND NOT(uid = me()) – BlackDivine

2

ちょうどNOT INを行う方法を見つけて幸せなニュースを共有する必要がありました。)

SELECT post_id, actor_id, message FROM stream WHERE source_id in(a, b, c) and NOT (actor_id in (a, b, c)) 

これは未知のユーザー、ページそのものではないユーザーやページによって、すなわち、すべての記事、別名ファンによって複数のページからメッセージを取得します。

関連する問題