如何使用FQL multi-query获取我的朋友个人资料图片创建日期
我写了下面的查询:
SELECT src_small, src_big, src FROM photo WHERE src IN
(SELECT pic_square, pic_small, pic_big, pic FROM user WHERE uid IN
(SELECT uid2 FROM friend WHERE uid1 = me()) )但上面写着:
{
"error": {
"message": "Your statement is not indexable. The WHERE clause must contain an indexable column. Such columns are marked with * in the tables linked from http://developers.facebook.com/docs/reference/fql ",
"type": "NoIndexFunctionException",
"code": 604
}
}提前谢谢。
发布于 2012-08-30 14:56:14
来自Arjuna Del Toso的评论: 只有在WHERE子句中标记为"indexable“时,才能使用该列
不,这不是完全正确的。
在where子句中至少需要一个可索引的列--一旦有了这个列,还可以使用其他非索引列来进一步限制结果。
由于用户当前的配置文件图片总是他们的个人资料图片相册的相册封面照片,所以我们可以使用它来获取我们朋友的配置文件图片的object_id,而不是用它从photo表中选择我们想要的信息:
SELECT owner, src_small, created FROM photo WHERE object_id IN (
SELECT cover_object_id FROM album WHERE owner IN (
SELECT uid1 FROM friend WHERE uid2 = me()
) AND name = 'Profile Pictures'
)https://stackoverflow.com/questions/12192247
复制相似问题