带有限制的FQL不会返回所有用户的结果

时间:2012-06-13 09:19:34

标签: facebook facebook-fql

我试着获取以下查询以返回我的两个朋友的结果:

SELECT pid, owner
FROM photo
WHERE aid IN (
  SELECT aid
   FROM album
   WHERE owner in (
     SELECT uid2
     FROM friend
     WHERE uid1=me()
     LIMIT 0, 2 ) )

但由于某种原因,它只显示其中一个的结果,并且返回的行数不超过限制(仅约800)

当我跑步时:

SELECT uid2
FROM friend
WHERE uid1=me()
LIMIT 0, 2

我得到了两个朋友的结果,正如预期的那样,当我以这种形式手动执行查询时:

SELECT pid, owner
FROM photo
WHERE aid IN (
  SELECT aid
   FROM album
   WHERE owner = USER_ID_FROM_LAST_QUERY

我得到两个用户都期望的结果,但是为什么它不能用于IN语句和子查询?

编辑:我尝试实现的是获取所有朋友的照片。只要求我所有朋友的所有照片都会超过5000张照片,因此我不能在1个查询中获取所有内容。

目前,我通过对每个用户进行查询来获取所有图片,并且工作正常。 (如果你忽略了执行需要2-3分钟的事实。所以我想通过减少查询来缩短运行时间。

编辑:更多信息:

通过以下查询,我可以获得两位用户的相册:

SELECT aid, owner
FROM album
WHERE owner in (
  SELECT uid2
  FROM friend
  WHERE uid1=me()
  LIMIT 0, 2 ) 

但是通过完整查询,我只能从其中一个用户拥有的相册中获取图片。

1 个答案:

答案 0 :(得分:0)

试试这个:

SELECT pid,owner FROM photo WHERE aid IN(SELECT aid FROM album WHERE owner in(SELECT uid2 FROM friend WHERE uid1 = me()LIMIT 2))