0

我正在拼命地尝试获取具有纬度和经度的用户事件。我现在正在使用这个查询,但它返回一个空的结果集,我不知道为什么。

NSString *eventInfo = @"SELECT name, eid, venue.id, location, start_time, end_time from event WHERE eid IN (SELECT eid FROM event_member WHERE uid = me() AND rsvp_status='attending' OR rsvp_status='maybe'))";

NSString *placeInfo = @"SELECT page_id, name, latitude, longitude FROM place WHERE page_id IN (SELECT venue.id FROM #event)";

NSDictionary *multiQuery = [[NSDictionary alloc] initWithObjectsAndKeys: eventInfo, @"event", placeInfo, @"place", nil];

NSDictionary *queryParams = [NSDictionary dictionaryWithObjectsAndKeys: multiQuery, @"q", accessToken, @"access_token", nil];
4

3 回答 3

0

如果您只希望查询执行此操作:

{
    "events" : "SELECT privacy, name, description, start_time, venue.id, pic_cover FROM event WHERE eid IN (SELECT eid FROM event_member WHERE uid = me())",
    "venues" : "SELECT latitude, longitude, name, page_id FROM place WHERE page_id IN (SELECT  venue.id FROM #events)"
}

请注意,您需要使用 Objective-c 手动进行连接。facebook 能给我们的只是一个事件列表,以及与事件相关的场地列表。

于 2013-05-31T21:28:51.237 回答
0

首先,您不需要第二次查询:您需要的关于在第一次查询中可以收到的地点的所有信息,venue都是一个具有名称和坐标的复杂对象。

因此,当您运行查询时

SELECT name, eid, venue, location, start_time, end_time from event WHERE eid IN (SELECT eid FROM event_member WHERE uid = me() and  rsvp_status='attending' OR rsvp_status='maybe')

你应该得到venue数组中的所有场地信息。

于 2013-03-01T12:31:35.900 回答
0

试试这个查询,它将返回关于即将发生的事件的几乎所有内容

SELECT eid,name,description,venue,creator,location,ticket_uri,start_time, eid,host,not_replied_count,pic_square,pic_big,unsure_count,attending_count,declined_count,all_members_count FROM event WHERE eid IN ( SELECT eid FROM event_member WHERE uid = me()) AND start_time > now(
于 2015-07-24T12:24:07.340 回答