我目前有2个FQL查询,一个用于从新闻源检索消息,另一个用于从其actor_id检索用户uid和名称。问题是这些查询是在单独的请求中运行的,因此它们彼此不同步。
我正在尝试将两个查询合并为一个,以便我有一个JSON对象并且可以一次解析所有数据。
我把这个问题作为首发:
FQL query to get the Immediate family (name, birthday and relationship)
但是,我一直无法弄清楚如何使用我的查询。
我的两个疑问是: String fqlQuery =“SELECT post_id,created_time,actor_id,message FROM stream WHERE filter_key in(SELECT filter_key FROM stream_filter WHERE type ='newsfeed'AND uid = me())ORDER BY created_time”;
String fqlFriendInfo =“SELECT uid,name FROM user WHERE uid IN(SELECT actor_id FROM stream WHERE filter_key in(SELECT filter_key FROM stream_filter WHERE type ='newsfeed'AND uid = me())ORDER BY created_time)”;
所以我真的想加入这两个查询,以便我从一个FQL查询中获得uid和name,以及与该用户相关的post_id和消息。
答案 0 :(得分:0)
这样做:
{"query1":"SELECT post_id, created_time, actor_id, message FROM stream WHERE filter_key in (SELECT filter_key FROM stream_filter WHERE type = 'newsfeed' AND uid=me()) ORDER BY created_time", "query2":"SELECT id, name FROM profile WHERE id IN (SELECT actor_id FROM #query1)"}
请使用配置文件表而不是用户表,因为第二个查询很可能失败(返回某些actor_id的空结果)。您的第一个查询的actor_id可以是页面ID,但uid表示用户,而不是页面。