AWS SimpleDB Выбрать выражение iPhone - PullRequest
0 голосов
/ 21 сентября 2011

Мне нужно создать выражение selectExpression для SimpleDB, где я хочу только элементы с атрибутами = от X, отсортированные в порядке убывания по атрибуту Y. Все, что у меня пока есть, это:

NSString *selectExpression = [NSString stringWithFormat:@"select itemName() from `%@`",domainString];

@try {
    SimpleDBSelectRequest  *selectRequest2  = [[[SimpleDBSelectRequest alloc] initWithSelectExpression:selectExpression] autorelease];
    SimpleDBSelectResponse *selectResponse = [[Constants sdb] select:selectRequest2];

    if (items == nil) {
        items = [[NSMutableArray alloc] initWithCapacity:[selectResponse.items count]];
    }
    else {
        [items removeAllObjects];
    }
    for (SimpleDBItem *item in selectResponse.items) {
        [items addObject:item.name];
    }
    [items sortUsingSelector:@selector(compare:)];
}
@catch (AmazonServiceException *exception) {
    NSLog(@"Exception = %@", exception);
}

Я бы предпочел выбирать только элементы (выше) с атрибутами X по Y, а не получать все элементы, а затем сортировать. Как мне это добавить? Идет ли это в строке selectExpression или где-то еще. Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 26 сентября 2011

Попробуйте это -

Select x,y from <domain_name> where itemName() is not null order by itemName() asc 
0 голосов
/ 21 сентября 2011
NSString *selectExpression = [NSString stringWithFormat:@"select itemName() from `%@` where X = '%@' order by 'X' descending",domainName,attributeValue];
...