Запрос FQL SELECT с ключевым словом IN, а не IN - PullRequest
2 голосов
/ 29 ноября 2011

Я пытаюсь получить все мои друзья ожидают мало людей.

Я сформировал запрос вот так

    SELECT uid,name FROM user WHERE uid NOT IN ($x)

Извлеките всех ожидающих тех людей, которые в $ х.

This is giving me an fatal error Uncaught Exception: 601: Parser error: unexpected 'NOT

Заранее спасибо!

Ответы [ 2 ]

3 голосов
/ 09 мая 2013

Вы можете использовать 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 голосов
/ 29 ноября 2011

«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
}

Надеюсь, это поможет.

...